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 ...
随机推荐
- Rails 5 Test Prescriptions(everday Rspectest作者推荐) 目录 1-3章
总文档连接: RSpec.info/documentation/ 如何使用TDD 和 自动化测试来建立一个Rails app. TDD让你用测试来探索代码的设计.你将学习可利用的工具,并学习用什么工具 ...
- 多目标跟踪方法 NOMT 学习与总结
多目标跟踪方法 NOMT 学习与总结 ALFD NOMT MTT 读 'W. Choi, Near-Online Multi-target Tracking with Aggregated Local ...
- POJ 2689 筛法求素数
DES:给出一个区间[L, U].找出这个区间内相邻的距离最近的两个素数和距离最远的两个素数.其中1<=L<U<=2147483647 区间长度不超过1000000. 思路:因为给出 ...
- 利用Pandoc将markdown文件转化为pdf
利用Pandoc将markdown文件转化为pdf 准备工作 安装pandoc 安装MiKTeX 将markdown文件转换为pdf 准备工作 安装pandoc Windows下安装pandoc很容易 ...
- [批处理]NetstatFilter快速查找端口被占用问题
前言 准确的说,他是一个网络连接端口查看器,可以根据进程查端口,也可以根据端口查进程.期初是因在使用Fiddler的时候发现无法启动,提示端口被占用,但是由不知道用什么方法才能找到是哪个程序占用的Fi ...
- html5实现本页面元素拖放和本地文件拖放
HTML5拖放 拖放本地数据 1.HTML拖放 拖放(Drag 和 Drop)是HTML5标准的组成部分 2.拖放开始: ondragStart:调用了一个函数,drag(event),它规定了被 ...
- (转)基于DDD的现代ASP.NET开发框架--ABP分层架构
介绍DDD概念Eric Evans的“Domain-Driven Design领域驱动设计”简称 DDD,它是一套综合软件系统分析和设计的面向对象建模方法,或者可称为MDD模型驱动方法的一种,区别于M ...
- Hadoop和HBase中出现 ssh登录 The authenticity of host 192.168.0.xxx can't be established.
用ssh登录一个机器(换过ip地址),提示输入yes后,屏幕不断出现y,只有按ctrl + c结束 错误是:The authenticity of host 192.168.0.xxx can't b ...
- Centos7 环境下开机 自启动服务(service) 设置的改变 (命令systemctl 和 chkconfig用法区别比较)
参考文章: <Linux 设置程序开机自启动 (命令systemctl 和 chkconfig用法区别比较)> http://blog.csdn.net/kenhins/article/ ...
- 【idea】如何彻底卸载idea
卸载MAC中的IDEA Intellij 14 使用命令行: 1 2 3 4 5 6 cd /Applications/ rm -r IntelliJ\ IDEA\ 14.app/ rm -r /Us ...