Spring学习系列 : 错误记录(三) MyBatis日期读取

本文描述了在使用MyBatis进行数据库操作时遇到的时间字段读取为null的问题及其解决方法。通过调整BaseResultMap中的resultType为正确的POJO类,可以确保时间和日期数据正确映射。

问题描述

今天写用户登录模块,部署到Tomcat服务器上的时候,发现读取数据库里的时间总是null,但是数据库里的日期字段是有数据的,百思不得其解。

解决方案

经过百度,谷歌后,发现可能是map里的resultType写错了,如图
图1

应该改成这样
图2

原因应该是BaseResultMap是定义好的,和POJO类建立起的映射关系,包括JDBC类型。如果改成上面1图那样,就不会使用这种映射关系,就可能会发生读取不到数据的情况。附上用MyBatis generator直接生成映射代码。
图3

最后

这里如果使用resultMap的话,部署的环境下读取时间没啥问题,但是在做单元测试的时候,就出错了。错误提示是can not process result map,所以在单元测试的时候使用图1那种写法就行了(我认为比较好的方式是应该让生成环境中的代码和测试的代码分离,这样比较便于管理)。原因目前还不知道,待解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值