Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP"的区别

  最近在转型java,查询数据库使用mybatis,查询条件有个开始时间和结束时间,我使用的查询sql如下

SELECT * FROM dbo.Task WHERE time BETWEEN #{btime,jdbcType=DATE} AND #{etime,jdbcType=DATE}
输入的条件是2019-04-23 00:00:00和2019-04-23 23:59:59
执行程序查询的条数为0,但是直接在sqlserver查询是可以返回10条记录的,一开始以为是参数有问题,修改后发现问题依旧,就去查了下jdbcType的类型,发现jdbcType的Date返回格式是yyyy-MM-dd,如果使用yyyy-MM-dd HH:mm:ss查询需要使用jdbcType的TIMESTAMP类型,
将sql修改成 SELECT * FROM dbo.Task WHERE timeBETWEEN #{btime,jdbcType=TIMESTAMP} AND #{etime,jdbcType=TIMESTAMP}
OK。数据加载出来了, 特此记录一下,防止再犯。

猜你喜欢

转载自www.cnblogs.com/nonospring/p/10755948.html
今日推荐