定义枚举:

public static enum AppStateEnum
{
Valid("有效"), Virtual("虚拟"), Hide("隐藏"); public String toString() {
return this.appState;
} private String appState; private AppStateEnum(String str) {
this.appState = str;
}
}

实体:

public class SysApp {

     public int getAppId() {
return appId;
}
public void setAppId(int appId) {
this.appId = appId;
}
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getAppCode() {
return appCode;
}
public void setAppCode(String appCode) {
this.appCode = appCode;
}
public int getSorting() {
return sorting;
}
public void setSorting(int sorting) {
sorting = sorting;
}
public SysAppConstant.AppStateEnum getAppState() {
return appState;
}
public void setAppState(SysAppConstant.AppStateEnum appState) {
this.appState = appState;
}
private int appId;
private String appName;
private String appCode;
private int sorting;
private SysAppConstant.AppStateEnum appState; }

XML配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mamaguwen.dao.SysAppDao" >
<resultMap id="BaseResultMap" type="com.mamaguwen.entity.SysApp" >
<id column="AppId" property="appId" jdbcType="BIGINT" />
<result column="AppName" property="appName" jdbcType="VARCHAR" />
<result column="AppCode" property="appCode" jdbcType="VARCHAR" />
<result column="Sorting" property="sorting" jdbcType="VARCHAR" />
<result column="AppState" property="appState" jdbcType="VARCHAR" />
</resultMap> <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
Select AppId,AppName,AppCode,Sorting,AppState from sys_app
Where AppId=#{appId}
</select> <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
delete from sys_app
where AppId = #{appId}
</delete> <insert id="insert" parameterType="com.mamaguwen.entity.SysApp" useGeneratedKeys="true" keyProperty="appId">
insert into sys_app (AppName,AppCode,Sorting,AppState)
values (#{appName},#{appCode},#{sorting},#{appState})
</insert> <update id="updateSorting" parameterType="com.mamaguwen.entity.SysApp" >
update sys_app
set appstate=#{appState}
where appId = #{appId}
</update>
</mapper>

测试:

@RunWith(value = SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:spring.xml",
"classpath:spring-mybatis.xml" })
public class TestSysAppDao { private static final Logger logger = Logger.getLogger(Test_SysUser.class); private SysAppDao appDao; public SysAppDao getAppDao() {
return appDao;
} @Autowired
public void setAppDao(SysAppDao appDao) {
this.appDao = appDao;
} @Test
public void insert() {
SysApp model=new SysApp();
model.setAppCode("001");
model.setAppName("王坤");
model.setAppState(AppStateEnum.Valid);
appDao.insert(model); System.out.println(String.format("appId:%s", model.getAppId()));
} @Test
public void selectByPrimaryKey() {
SysApp model= appDao.selectByPrimaryKey(1);
System.out.println("调整状态:"+model.getAppState());
}
}

需要注意的是 定义枚举时候,定义一个toString方法则 :

比如

AppStateEnum.Valid  存如数据库为 Valid
读取出来在页面显示则可以显示成:
  有效


mybatis 3 -枚举的更多相关文章

  1. 解决mybatis使用枚举的转换

    解决mybatis使用枚举的转换 >>>>>>>>>>>>>>>>>>>>> ...

  2. mybatis使用枚举优化

    文章转自: https://segmentfault.com/a/1190000010755321 问题 在编码过程中,经常会遇到用某个数值来表示某种状态.类型或者阶段的情况,比如有这样一个枚举: p ...

  3. Mybatis的枚举处理器

    Mybatis有两个默认枚举处理器 EnumOrdinalTypeHandler EnumTypeHandler 自定义枚举 EnumOrdinalTypeHandler 这个处理器负责将pojo里面 ...

  4. mybatis自定义枚举转换类

    转载自:http://my.oschina.net/SEyanlei/blog/188919 mybatis提供了EnumTypeHandler和EnumOrdinalTypeHandler完成枚举类 ...

  5. MyBatis 使用枚举或其他对象

    From<Mybatis从入门到精通> 1.笔记: <!-- 6.3 使用枚举或者其他对象 6.3.1 使用MyBatis提供的枚举处理器 不懂: 因为枚举除了本身的字面值外,还可以 ...

  6. mybatis 处理枚举类型

    MyBatis支持持久化enum类型属性.假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值.并且,User对象有一个enum类 ...

  7. springboot mybatis自定义枚举enum转换

    原文链接:https://blog.csdn.net/u014527058/article/details/62883573 一.概述 在利用Spring进行Web后台开发时,经常会遇到枚举类型的绑定 ...

  8. Mybatis实战之自定义TypeHandler处理枚举

    在Mybatis中,处理枚举类的TypeHandler有两个: EnumTypeHandler: 用于保存枚举名 EnumOrdinalTypeHandler: 用于保存枚举的序号. 在实际项目中,以 ...

  9. mybatis枚举映射成tinyint

    第一步:定义顶级枚举接口 public interface BaseEnum<E extends Enum<?>, T> { public T getCode(); publi ...

随机推荐

  1. vscode的keybindings.json 和 AHK 脚本映射Win键

    vscodehotkey.ahk https://github.com/m2nlight/AHKVSCodeLikeMac ; Shortcuts like mac ; Written by Bob ...

  2. Java HashMap的工作原理

    面试的时候经常会遇见诸如:”java中的HashMap是怎么工作的”.”HashMap的get和put内部的工作原理”这样的问题. 本文将用一个简单的例子来解释下HashMap内部的工作原理. 首先我 ...

  3. PHP:第六章——正则表达式的基本概念

    <?php header("Content-Type:text/html;charset=utf-8"); //正则表达式的基本概念: //宽松匹配和严格匹配: //常见的匹 ...

  4. 【转】Selenium2 API详解

    [转自]http://blog.csdn.net/wuxuehong0306/article/details/49762961 打开浏览器 Ø  打开firefox浏览器 WebDriver driv ...

  5. MongoDB数据库的特点以及结构

    mongodb标签:非关系型数据库       文档型数据库           最像关系型的非关系型数据库 特点: 1. 由c++编写的数据库管理系统 2. 支持丰富的增删改查功能 3. 支持丰富的 ...

  6. javax.el.PropertyNotFoundException: Property 'imgUrl' not found on type java.lang.String

    严重: Servlet.service() for servlet jsp threw exception javax.el.PropertyNotFoundException: Property ' ...

  7. 为什么要使用索引?-Innodb与Myisam引擎的区别与应用场景

    Innodb与Myisam引擎的区别与应用场景 http://www.cnblogs.com/changna1314/p/6878900.html https://www.cnblogs.com/ho ...

  8. goaccess nginx日志分析工具简单使用

    goaccess 是一个比较方便的支持实时的日志分析工具,比较方便,同时安装&&配置简单 安装 centos yum yum install -y goaccess 运行 我的ngin ...

  9. CentOS7修复python拯救yum - 转载

    原文:http://blog.51cto.com/welcomeweb/2132654 本人正在吹着空调,喝着茶水,然后qq头像抖了两下,业务开发同学给我打了个招呼,“忙么?帮个忙可以不?” 这很明显 ...

  10. Java中对象JSON格式化处理时的一个坑

    在项目中遇到了一个JSON的坑.记录下. 直接上代码: import java.util.ArrayList; import com.alibaba.fastjson.JSON; public cla ...