类型处理器,用于 JavaType 与 JdbcType 之间的转换,简单的理解就是对象属性与列间的映射处理。
有两种方式:
1.实现org.apache.ibatis.type.TypeHandler接口
2.继承org.apache.ibatis.type.BaseTypeHandler
开发步骤
1.定义转换类继承BaseTypeHandler
2.覆盖4个未实现的方法,其中setNonNullParameter为java程序设置数据到数据库的回调方法.
getNullableResult为查询时mysql的字符串类型转换成java的Type类型的方法
3.在application.properties里配置
数据库
这里额外说下 datetime是年月日 时分秒 date是年月日 timestamp是年月日 时分秒精确到毫秒 一般来说用datetime 省心点用varchar也行
如果说我现在需求改了 把birthday改成 bigint 以毫秒存入数据库 但是我头比较铁就不想改属性 birthday Date的类型 当然这个比方有点牵强 其实没必要 单纯就演示 这时就需要自定义类型处理器
insert into user(name,password,birthday)values(#{name},#{password},#{birthday,typeHandler=com.example.typehandler.handler.DateTypeHandler})
改天继续