最近在做项目时遇到一个问题,项目是用SpringMVC+Mybatis+Oracle做的,数据库中有一张表,有一个endtime字段,在后端写了一个定时器方法,如果当前具体时间(年月日,时分秒,当前时间-10s)小于等于endtime的值查询数据库表,当时显示不出具体的时分秒时间,在网上找了一些方法还是解决不了。
我是用Mybatis逆向生成工具生成这张表的model和mapper的,
我的生成当前时间用的是:
Calendar calendar = Calendar.getTime();
Date time = calendar.getTime();
然后调用查询方法查询,我在控制台打印sql语句发现时间没有具体到时分秒,于是找各种原因,其中需要更改xxxMapper.xml中的时间格式,具体如下:
<result column="ENDTIME" jdbcType="TIMESTAMP" property="endtime">DATE类型改为TIMESTAMP类型,改了以后还是不行,于是我又仔细查看了一下xxxExample,发现
自动分装的方法有问题,它在形成sql语句时固定了时间的格式(Date类型的),这才导致了一直查不出来时分秒,我改了方法以后就能查出时分秒了。