需要對時間數據進行一個增刪改查的操作
數據庫對應的類型爲”time”,字段名爲time
java實體類中添加一個java.sql.time類型的time屬性與String類型的屬性timeString
startTime,startTimeString,EndTime,EndTimeString
startTime、EndTime都是Time類型,正常的getter、setter方法,
startTimeString、EndTimeString的getter、setter需要進行數據處理
public String getStartTimeString() {
return DateUtils.format(startTime, "HH:mm:ss");
}
//startTimeString是null或者''的時候,不能轉換爲time類型,不然會報空指針異常
public void setStartTimeString(String startTimeString) {
this.startTimeString = startTimeString;
if (StringUtils.isNotBlank(startTsString)) {
try {
this.startTime = new Time(DateUtils.parse(startTimeString, "HH:mm:ss").getTime());
} catch (Exception e) {
logger.debug("" + e.getMessage());
}
}
}
public String getEndTimeString() {
return DateUtils.format(endTime, "HH:mm:ss");
}
//endTimeString是null或者''的時候,不能轉換爲time類型,不然會報空指針異常
public void setEndTimeString(String endTimeString) {
this.endTimeString = endTimeString;
if (StringUtils.isNotBlank(endTimeString)) {
try {
this.endTs = new Time(DateUtils.parse(endTimeString, "HH:mm:ss").getTime());
} catch (Exception e) {
logger.debug("" + e.getMessage());
}
}
}
jsp中的時間段設置格式爲HH:mm:ss,開始時間的WdatePicker的maxdate限制寫法:
#F{$dp.$D(\'endTime\');}
結束時間段的maxdate限制的寫法,需要加上一個初始的時間限制,不然在沒有選擇開始時間的情況下選擇結束時間會報類似非法時間的錯誤:
#F{$dp.$D(\'startTime\')||\'00:00:00\';}
sql語句的時間段限制:
開始時間:
<if test="startTime != null">
<![CDATA[
AND TIME_FORMAT(start_time,'%H:%i:%s') >= TIME_FORMAT(#{startTime},'%H:%i:%s')
]]>
</if>
結束時間:
<if test="endTime != null">
<![CDATA[
AND TIME_FORMAT(end_time,'%H:%i:%s') <= TIME_FORMAT(#{endTime},'%H:%i:%s')
]]>
</if>