MyBatis之typeHandler

类型转换器,是MyBatis的一个部分,用来转换参数到数据库,数据库到参数的一个内容。

MyBatis内置了很多类型转换器:


具体见:http://www.mybatis.org/mybatis-3/zh/configuration.html#typeHandlers

而本文要讲解的是MyBatis提供我们的自定义类型转换器

有2个方法可以实现自定义类型转换器:

继承BaseTypeHandler<T>

或者实现 TypeHandler<T>


这是官方文档给出的一个例子,大概就是这样的,那么我们需要给定他们决定映射什么类型的属性

有2种方式:

1.利用注解在转换器类上注明,比如

@MappedTypes(User.class)

@MappedJdbcTypes(JdbcType.VARCHAR)

2.在配置上写明

<typeHandlers>
<typeHandler handler="typeHandler.userHandler" javaType="model.User" jdbcType="VARCHAR"/> 
  </typeHandlers> 


这里有一个值得提一下的点,我在百度上查找的DEMO好多运行起来并没有想象中的结果,可能就是一个细节点上出错了,

比如我要在插入的属性上进行转换,那么我们必须指定:

比如:<insert id="insertOne">
insert into user2(json) values(#{user,javaType=user,jdbcType=VARCHAR})
    </insert>

这样才能完成相应的转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值