mybatis 3 -枚举
定义枚举:
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 -枚举的更多相关文章
- 解决mybatis使用枚举的转换
解决mybatis使用枚举的转换 >>>>>>>>>>>>>>>>>>>>> ...
- mybatis使用枚举优化
文章转自: https://segmentfault.com/a/1190000010755321 问题 在编码过程中,经常会遇到用某个数值来表示某种状态.类型或者阶段的情况,比如有这样一个枚举: p ...
- Mybatis的枚举处理器
Mybatis有两个默认枚举处理器 EnumOrdinalTypeHandler EnumTypeHandler 自定义枚举 EnumOrdinalTypeHandler 这个处理器负责将pojo里面 ...
- mybatis自定义枚举转换类
转载自:http://my.oschina.net/SEyanlei/blog/188919 mybatis提供了EnumTypeHandler和EnumOrdinalTypeHandler完成枚举类 ...
- MyBatis 使用枚举或其他对象
From<Mybatis从入门到精通> 1.笔记: <!-- 6.3 使用枚举或者其他对象 6.3.1 使用MyBatis提供的枚举处理器 不懂: 因为枚举除了本身的字面值外,还可以 ...
- mybatis 处理枚举类型
MyBatis支持持久化enum类型属性.假设t_user表中有一列gender(性别)类型为 varchar2(10),存储 MALE 或者 FEMALE 两种值.并且,User对象有一个enum类 ...
- springboot mybatis自定义枚举enum转换
原文链接:https://blog.csdn.net/u014527058/article/details/62883573 一.概述 在利用Spring进行Web后台开发时,经常会遇到枚举类型的绑定 ...
- Mybatis实战之自定义TypeHandler处理枚举
在Mybatis中,处理枚举类的TypeHandler有两个: EnumTypeHandler: 用于保存枚举名 EnumOrdinalTypeHandler: 用于保存枚举的序号. 在实际项目中,以 ...
- mybatis枚举映射成tinyint
第一步:定义顶级枚举接口 public interface BaseEnum<E extends Enum<?>, T> { public T getCode(); publi ...
随机推荐
- sql语句中处理金额,把分换算成元
问题,sql语句中直接将金额/100返回的结果会有多个小数位. as value from account as acc left join conCategory as cate on acc.ca ...
- phython
转载 http://www.cnblogs.com/chenny7/p/4062693.html
- jQuery.prop() 函数详解
prop()函数用于设置或返回当前jQuery对象所匹配的元素的属性值. 该函数属于jQuery对象(实例).如果需要删除DOM元素的属性,请使用removeProp()函数. 语法jQuery 1. ...
- 彻底明白IP地址——计算相关地址
知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0.算出 ...
- hdu 3268 09 宁波 现场 I - Columbus’s bargain 读题 最短路 难度:1
Description On the evening of 3 August 1492, Christopher Columbus departed from Palos de la Frontera ...
- C++设计模式之享元模式
概述 想想我们编辑文档用的wps,文档里文字很多都是重复的,我们不可能为每一个出现的汉字都创建独立的空间,这样代价太大,最好的办法就是共享其中相同的部分,使得需要创建的对象降到最小,这个就是享元模式的 ...
- c++类成员函数重载常量与非常量版本时避免代码重复的一种方法
c++有时候需要为类的某个成员函数重载常量与非常量的版本,定义常量版本是为了保证该函数可作用于常量类对象上,并防止函数改动对象内容.但有时两个版本的函数仅仅是在返回的类型不同,而在返回前做了大量相同的 ...
- 各开源 bbs 程序比较
主要是集中在 php 开源轻巧的程序. 搜索到一个逼乎的一个帖子:https://www.zhihu.com/question/20655704 ,顺藤摸瓜 下. carbon forum 第一个测试 ...
- linux命令返回值的含义
linux命令执行后无论成功与否都有一个返回值: 如果为 0,则表示命令执行成功,其它值则表示错误, 具体的错误码含义如下: "OS error code 1: Operation not ...
- 最佳C/C++编辑器 source insight3
C/C++嵌入式代码编辑器source insight3下载地址 http://www.sourceinsight.com/eval.html 注册码:SI3US-361500-17409