mybatis-plus

本文探讨了在使用MyBatis-Plus时如何处理Oracle数据库中的Date类型字段,尤其是在需要存储时分秒精度的情况下。通过设置@TableField属性和自定义resultMap解决了在插入和查询时的数据类型转换问题。

最近遇到一个比较奇怪的问题,就是在oracle数据库上,数据类型为Date,在oracle中是可以存储时分秒的精度的。在mybatis上好像只有年月日(需要确认一下)。网上找资料发现可以用xml映射的方式来实现,jdbcType修改为TIMESTAMP。但是因为我用了mybatis-plus。说真的,这个mybatis-plus真的好用。几乎解放了用mybatis写crud的烦恼。虽然是可以用模板根据数据库自动生成crud的xml,但是一旦修改了数据库数据,修改起来还是比较麻烦的,有人把自动生成的crud的mapper.xml和手动生成的mapper.xml区分开来。

mybatis-plus上的@TableField中的el,还是很强大的,可以修改对应的jdbcType。比如@TableField(el="createTime,jdbcType=TIMESTAMP")。好的工具会让人产生就应该这样的感觉,不突兀。

但是还是不能够解决。发现在用insertSelective方法的时候,类型是TIMESTAMP,但是SelectList的时候应该不是TIMESTAMP吧。后来是用 @TableName(value = "DBUSROMS1.DXSTASKFOCUS_O2O",resultMap = "instructResultMap")这样的方法解决的。在mapper.xml中写resultMap的方式来解决。

关于代码自动生成这一块,还需要多研究一样。有基于模板自动生成的方式。

转载于:https://my.oschina.net/miaojiangmin/blog/827693

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值