firemail
标题:
Mybatis中的TypeHandler
[打印本页]
作者:
java
时间:
2017-8-3 19:30
标题:
Mybatis中的TypeHandler
本帖最后由 java 于 2017-8-3 19:32 编辑
无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成 Java 类型。Mybatis默认为我们实现了许多TypeHandler, 当我们没有配置指定TypeHandler时,Mybatis会根据参数或者返回结果的不同,默认为我们选择合适的TypeHandler处理。
TypeHandler是MyBatis config文件中可选的配置选项,其可以对实体属性类型和数据库列类型的转换过程进行干涉,在过程中添加某些可能需要的操作。
1、自定义的typeHandler类需要实现typeHandler接口并且实现接口方法;
2、配置文件添加<typeHandler>;
3、在映射文件中的参数和结果添加类型说明,javaType和jdbcType。
如 DATE MYsql字段 转为 JodaDateTime 的javatype
前者在数据库中直接 以可读时间显示 通过handle转为后者后 可直接在程序中使用
<typeHandler javaType="DateTime" jdbcType="DATE"
handler="com.example.mybatis.typehandle.JodaDateTime2DateTypeHandler"></typeHandler>
复制代码
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3