Java查詢時間段(startTime--endTime)間的資料
阿新 • • 發佈:2018-12-05
問題1:
判斷時間間隔間的資料,就像查詢數字一樣通過between-and方法進行?
答1:
between-and用於查詢數字區間,不用於查詢兩個時間間隔的內容。非要查詢,可以試著把時間格式轉換成Long型。
問題2:
在用postman工具測試後,Java中報異常:(String型別和Date型別比較出現異常)?
異常資訊: ### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String ### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
mybatis--xml
<if test="startTime != null and startTime != ''">
AND create_time <![CDATA[>=]]> #{startTime}
</if>
答2:
此處的String型別和Date型別比較異常原因:if標籤中,Date型別不存在String型別,直接判斷就好
<if test="startTime != null"> AND create_time <![CDATA[>=]]> #{startTime} </if>
此時上述問題解決。
補充:
完整的時間區間比較程式碼
<where> <if test="startTime != null"> AND create_time <![CDATA[>=]]> #{startTime} </if> <if test="endTime != null"> AND create_time <![CDATA[<=]]>#{endTime} </if> </where>
實體類
//建立時間
private Date createTime;
//起始時間
private Date startTime;
//結束時間
private Date endTime;