通過mybatis將Java中Date類型字段數據更新或插入到數據庫中datetime字段保存
表結構:
Java實體類字段:
代碼:
//處理時間格式,courseMarke與one對應Java實體類字段
Date startTime1 = courseMarket.getStartTime();
Timestamp startTime = new Timestamp(startTime1.getTime());
one.setStartTime(startTime);
Date endTime1 = courseMarket.getEndTime();
Timestamp endTime = new Timestamp(endTime1.getTime());
one.setEndTime(endTime);
courseMapper.updateCourseMarketById(one);
xml文件:
UPDATE course_market SET start_time=#{startTime}, end_time=#{endTime} WHERE id=#{id}
向mysql數據庫插入datetime類型數據的兩種方法
方式一:使用java.sql.Timestamp這個類來進行轉換(推薦)
Date startTime1 = courseMarket.getStartTime(); Timestamp startTime = new Timestamp(startTime1.getTime());
UPDATE course_market
SET
start_time=#{startTime},
end_time=#{endTime}
WHERE id=#{id}
方式二:將實體類Date類型字段轉換成特定格式的字符串String,存入數據庫,這樣也可以!
MySQL 中,字段定義為日期datetime格式,如果insert或update語句賦值字符串格式,如:'2019-01-01 12:00:00',MySQL可以自動轉為日期格式。
但如果是用hibernate中的sql 新增或修改,日期格式對應的參數值也必須是日期格式。例如 :
INSERT INTO '類名'(列1, 列2,...) VALUES (值1, 值2,....)
如果列1是日期格式,值1也必須是日期格式,不能為字符串。