600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java 自动填充 使用java自动填充 实现mysql的创建修改时间的自动填充

java 自动填充 使用java自动填充 实现mysql的创建修改时间的自动填充

时间:2023-09-23 02:14:18

相关推荐

java 自动填充 使用java自动填充 实现mysql的创建修改时间的自动填充

使用java自动填充,实现mysql的创建修改时间的自动填充

使用java自动填充,实现mysql的创建修改时间的自动填充

一、首先我们需要在表上创建相应的字段

1:值得注意的是这个类型,datetime,还有别的操作时间的类型,这个区别还是有一点,详细可以百度一下,此处就不写了

二、标准的java实体映射类肯定是需要的

1:这第一个注解:@DateTimeFormat,就是指定这个时间格式,这个与上述的datetime还是有一点关系的,可以自己百度,尝试一下别的

2:关键是第二个注解:@TableField,相当于表达这是什么操作,然后与下文形成对应

3:注意:!!!! 此处的Date 是java.util.Date,不要导sql的包,sql也有一个Date,具体我也没研究为啥,如果导了这个sql包,会报错

三、注解有了还不行,还要做最后一步,实现MetaObjectHandler接口

1:此处需要注意,需要交给spring容器管理

2:实现这个接口的两个方法,insertFill和updateFill

3:测试即可实现自动填充,当然,既然是自动填充,所以我们不需要传值

四、如果出现时间点不一样的情况,一般是差8个小时[东八区],那么这个时候,我们就需要添加一点配置

复制代码

spring:

datasource:

driver-class-name: com.mysql.jdbc.Driver

username: root

password: root

#关键操作,数据库名后面添加:?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&characterEncoding=UTF-8

url: jdbc:mysql://192.168.27.212:3306/mydata?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&characterEncoding=UTF-8

jackson:

#时间的格式

date-format: yyyy-MM-dd HH:mm:ss

#时间+8小时

time-zone: GMT+8

复制代码

五、如果测试还是不行,配置文件不起作用,那就只能写死时间,使用时间的工具类【此操作可能导致多台设备添加的时间不一致,谨慎使用】

1、引入依赖

joda-time

joda-time

2、在实现MetaObjectHandler接口的类中,要把new Date();改掉

复制代码

1 @Component

2 public class MyObjectHandler implements MetaObjectHandler {

3 @Override

4 public void insertFill(MetaObject metaObject) {

5 /**

6 * fieldName:实体映射类的属性名

7 * 第二个参数:属性值

8 * 第三个:元数据对象

9 * DateTime.now().plusHours(13).toDate():时间+13小时,

10 * 这个13小时只是我这里差的值,差多少改多少

11 */

12 this.setFieldValByName(“createTime”, DateTime.now().plusHours(13).toDate(),metaObject);

13 this.setFieldValByName(“updateTime”,DateTime.now().plusHours(13).toDate(),metaObject);

14 }

15

16 @Override

17 public void updateFill(MetaObject metaObject) {

18 this.setFieldValByName(“updateTime”,DateTime.now().plusHours(13).toDate(),metaObject);

19 }

20 }

复制代码

六、以上的写死时间的操作,纯属个人娱乐操作,没有实际应用意义,只有配置文件生效的那个操作,才是最好的操作,传值的时候,什么都不需要写,对象传值的话,直接忽略它就好

使用java自动填充,实现mysql的创建修改时间的自动填充相关教程

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。