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