1. 程式人生 > >Java查詢時間段(startTime--endTime)間的資料

Java查詢時間段(startTime--endTime)間的資料

問題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;

參考連結:https://www.cnblogs.com/kevinZhu/p/6972771.html