通过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也必须是日期格式,不能为字符串。