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 ...
随机推荐
- Android之扫描二维码和根据输入信息生成名片二维码
开发中常常遇到二维码扫码操作,前段时间做项目要实现该功能,于是网上查找资料实现了,现在把他做出来给各位分享一下,主要包含了二维码扫描和生成二维码名片. 先来看看效果图: 生成的二维码,打开微信扫一 ...
- bzoj3223: Tyvj 1729 文艺平衡树 splay裸题
splay区间翻转即可 /************************************************************** Problem: 3223 User: walf ...
- 【MySQL】经典数据库SQL语句编写练习题——SQL语句扫盲
[MySQL]数据库原理复习——SQL语言 对基本的SQL语句编写的练习题,其中的题目的答案可能会有多种书写方式. 1.题目1 1.1 关系模式 学生student:SNO:学号,SNAME:姓名,A ...
- fib博弈
链接:https://www.nowcoder.com/acm/contest/77/G来源:牛客网 幼儿园开学了,为了让小盆友们能尽可能的多的享受假期.校长大人决定让小盆友分批到校,至于每批学生来 ...
- Java9新特性
转载:http://blog.csdn.net/qq_32524177/article/details/77014757 写在前面的话:Java9来了,搜索了很多关于Java9的新特性,但文献不多,特 ...
- 修改oracle字符集合
SQL> conn /as sysdbaSQL> shutdown immediate;SQL> startup mountSQL> ALTER SYSTEM ENABLE R ...
- Git标签(版本)管理
列出当前所有的标签 git tag 可以搜索特定的标签,例如你只想看稳定版相关的 git tag -l "*.stable" 给当前commit打标签(设定版本) gi ...
- 201621123005《java程序设计》第八次实验总结
201621123005<Java程序设计>第八次实验总结 1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 1. ArrayList代码分析 1 ...
- 20181009-5 选题 Scrum立会报告+燃尽图 04
Scrum立会报告+燃尽图(04)选题 此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2194] 一.小组介绍 组长:刘 ...
- SSH整合报错:Unable to instantiate Action, testAction, defined for 'test' in namespace '/'testAction
报错如下: Struts Problem Report Struts has detected an unhandled exception: Messages: testAction Unable ...