Mybatis TypeHandler
来源:互联网 发布:未来软件园mac下载 编辑:程序博客网 时间:2024/05/22 14:33
学习mybatis过程中,TypeHandler是非常重要的一个知识点。
1.现在User对象需要一个Enum变量,代表一个用户是否已经注销的状态。定义UserState的enum类型。
public enum UserState { NORMAL(0, "正常"), DELETE(1, "注销"); private int code; private String des; private UserState(int code, String des) { this.code = new Integer(code); this.des = des; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } public static UserState codeOf(int code) { for (UserState status : values()) { if (status.code == code) { return status; } } throw new IllegalArgumentException("Invalid delete code: " + code); }}
2. 定义用户类:
public class User { Integer id; //id String username; //外网登录用户名,系统中唯一 UserState state; //记录状态(0:正常,1:注销)}
Mybatis配置文件中配置TypeHandler:
<typeHandlers> <typeHandler handler="org.apache.ibatis.type.EnumOrdinalTypeHandler" jdbcType="TINYINT" javaType="com.qunar.qfound.enum.UserState"/> </typeHandlers>
3. 数据库中,state为TINYINT类型。
4. 因此在user.xml中要进行行管配置:
对于insert,在values相关字段部分进行javaType和jdbcType的配置说明。
<insert id="insert" parameterType="com.qunar.qfound.model.User" useGeneratedKeys="true" keyProperty="id"> <![CDATA[ insert into user( username, password, state, address, ) values( #{username}, #{password}, #{state,javaType=StateEnum,jdbcType=TINYINT}, #{address} ) ]]> </insert>
对于select,则需要定义resultMap,这样才能将从数据库中取出的数据封装成一个对象。
<resultMap id="userResult" type="user"> <result column="state" property="state" javaType="UserState" jdbcType="TINYINT"/> </resultMap>
<select id="getUserByUsername" parameterType="java.lang.String" resultMap="userResult"> <![CDATA[ select username, password, state, address, from user ]]> where username = #{username} </select>
0 0
- mybatis typeHandler
- Mybatis TypeHandler
- mybatis typeHandler
- MyBatis TypeHandler
- Mybatis 示例之 TypeHandler
- Mybatis自定义typehandler
- MyBatis-自定义typeHandler
- MyBatis之typeHandler
- Mybatis 自定义 TypeHandler
- Mybatis自定义TypeHandler
- Mybatis中的TypeHandler介绍
- Mybatis TypeHandler的使用
- mybatis TypeHandler详解
- MyBatis之TypeHandler解析
- mybatis typeHandler自定义类型转换器
- mybatis typeHandler自定义类型转换器
- Mybatis中typeHandler的使用
- Mybatis类型转换TypeHandler介绍
- Wheel ProgressBar 实现之一——画一条弧
- 第二十二篇:再写Windows驱动,再玩Windbg---NET
- jquery ajax请求
- android常用命令
- 来说说过滤器为环保事业所做的贡献
- Mybatis TypeHandler
- Android启动过程深入解析
- iOS企业开发In House ipa发布流程--自制网页安装设备无需授权和越狱
- vs2013右键菜单 0xC0000005: 读取位置 0x00000004 时发生访问冲突
- echo输出图片
- 数据库时间格式化
- Flex4 中将网页的参数传递给Flash,并且在Flash中读取这些参数
- phonegap通讯录插件安装、使用
- 使用hint优化Oracle的执行计划 以及 SQL Tune Advisor的使用