定义枚举:

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. HDU 2276 矩阵快速幂

    Kiki & Little Kiki 2 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java ...

  2. java通过文件头来判断文件类型

    import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.ut ...

  3. JavaScript学习总结(二十二)——JavaScript屏蔽Backspace键

    今天在IE浏览器下发现,当把使用readonly="readonly"属性将文本框设置成只读<input type="text" readonly=&qu ...

  4. 004——php字符串中处理函数(三)

    <?php /** * 字符串替换函数: * str_replace(); 替换字符串或数组元素,区分大小写,第四个参数可选,用于统计替换次数 * str_ireplace()不区分大小写替换 ...

  5. POJ 3126 primepath bfs

    题目链接:http://poj.org/problem?id=3126 题意:1维的坐标轴,给出起点和终点,求从起点到终点变换经历的最短的步数.起点,终点和中间变换的数字都是4位,而且都是质数. 思路 ...

  6. Jenkins的2个问题

    最近CI服务器从老版本的hudson升级为jenkins,遇到了2个问题,记录一下: 1.升级为jenkins后,junit report里面显示的test case数量为原来的两倍,每个test c ...

  7. 关于java的讲座有感

    今天晚上闲着看了下李兴华老师的java + 大数据 讲座.做一个屌爆的全能型技术人才,感觉有点收获,有兴趣的可以看看 链接地址:https://study.163.com/course/introdu ...

  8. Custom Ribbon in SharePoint 2010 & which not wrok when migrate from 2010 to 2013

    博客地址 http://blog.csdn.net/foxdave 1. First of all, let me show you the ribbon modal in our project w ...

  9. linux vi常用操作

    1.基本操作 进入vi vi 或者 vim 进入一个文件或者新建一个文件 例如:vim 11.txt vi有3种模式 一般模式:刚进入时.按esc时. 编辑模式:按下字母[i, I, o, O, a, ...

  10. 2018-2019-1 20165212 《信息安全系统设计基础》第八周学习总结(pwd)

    2018-2019-1 20165212 <信息安全系统设计基础>第八周学习总结 一.知识点总结 1.三种并发方式 构造并发程序的方法有三种: 进程 线程 I/O多路复用 进程:用内核来调 ...