“HH:mm:ss”格式的數據的轉換與增刪改查 mysql springmvc

需要對時間數據進行一個增刪改查的操作

數據庫對應的類型爲”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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章