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。数据加载出来了, 特此记录一下,防止再犯。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM