1. 程式人生 > >Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP"的區別

Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP"的區別

where 加載 需要 的區別 結束 batis tween ava sta

  最近在轉型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。數據加載出來了, 特此記錄一下,防止再犯。

Mybatis框架中jdbcType="DATE" 和 jdbcType="TIMESTAMP"的區別