Java中util.Date通过mybatis向数据库中datetime的操作!

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

不经历风雨,怎能见彩虹?做一个快乐的程序员。
原文地址:https://www.cnblogs.com/Mr-Elliot/p/13605279.html