Java生成日期时间存入Mysql数据库的实现方法


Posted in Java/Android onMarch 03, 2022

一、创建数据库标准

1.表的必备三个字段:id、gmt_create、gmt_modified

2.gmt_create是创建时间,gmt_modified是更新时间

3.然而创建时间和更新时间的默认设置不要让数据库来设置、统一用Mybatis-plus的Handler管理

二、数据库表结构

CREATE TABLE `ums_member` (
  `id` bigint(20) NOT NULL,
  `username` varchar(64) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `icon` varchar(500) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  `nick_name` varchar(200) DEFAULT NULL,
  `note` varchar(500) DEFAULT NULL,
  `gmt_create` datetime DEFAULT NULL,
  `gmt_modified` datetime DEFAULT NULL,
  `login_time` datetime DEFAULT NULL,
  `status` int(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Java生成日期时间存入Mysql数据库的实现方法

三、使用步骤

1.实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "ums_member")
public class UmsMember implements Serializable {
    @TableId(value = "id", type = IdType.NONE)
    private Long id;

    @TableField(value = "username")
    private String username;

    @TableField(value = "password")
    private String password;

    @TableField(value = "icon")
    private String icon;

    @TableField(value = "email")
    private String email;

    @TableField(value = "nick_name")
    private String nickName;

    @TableField(value = "note")
    private String note;

    @TableField(value = "gmt_create",fill = FieldFill.INSERT)
    private Date gmt_create;

    @TableField(value = "gmt_modified",fill = FieldFill.INSERT_UPDATE)
    private Date gmt_modified;

    @TableField(value = "login_time")
    private Date loginTime;

    @TableField(value = "status")
    private Integer status;

    private static final long serialVersionUID = 1L;
}

Java生成日期时间存入Mysql数据库的实现方法

2.实体类操作数据库时间工具类

/**
 * @author :Mr.ZJW
 * @date :Created 2022/3/2 10:08
 * @description:数据库自动插入时间工具类
 */
@Component
public class MyHandler implements MetaObjectHandler {

    public void insertFill(MetaObject metaObject) {
        System.out.println("添加插入时间");
        this.setFieldValByName("gmt_create",new Date(),metaObject);
        this.setFieldValByName("gmt_modified",new Date(),metaObject);
    }

    public void updateFill(MetaObject metaObject) {
        System.out.println("更新插入时间");
        this.setFieldValByName("gmt_modified",new Date(),metaObject);
    }
}

Java生成日期时间存入Mysql数据库的实现方法

3.测试

@SpringBootTest
@RunWith(SpringRunner.class)
public class UmsMeberTest {

    @Autowired
    private UmsMemberMapper umsMemberMapper;

    @Test
    public void test01(){
        UmsMember umsMember = new UmsMember();
        umsMember.setUsername("jowell");
        umsMember.setStatus(0);
        umsMember.setPassword("jowell");
        umsMember.setNote("not");
        umsMember.setNickName("cike");
        umsMember.setEmail("2280252534@qq.com");
        umsMemberMapper.insert(umsMember);
    }

操作成功:

Java生成日期时间存入Mysql数据库的实现方法

 到此这篇关于Java生成日期时间存入Mysql数据库的实现方法的文章就介绍到这了,更多相关Java生成日期时间内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
解决tk mapper 通用mapper的bug问题
Jun 16 Java/Android
Feign调用传输文件异常的解决
Jun 24 Java/Android
详解Java线程池是如何重复利用空闲线程的
Jun 26 Java/Android
浅谈resultMap的用法及关联结果集映射
Jun 30 Java/Android
java实现对Hadoop的操作
Jul 01 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Aug 02 Java/Android
使用jpa之动态插入与修改(重写save)
Nov 23 Java/Android
剑指Offer之Java算法习题精讲二叉树专项训练
Mar 21 Java/Android
Flutter Navigator 实现路由传递参数
Apr 22 Java/Android
Java存储没有重复元素的数组
Apr 29 Java/Android
Android中View.post和Handler.post的关系
Jun 05 Java/Android
MyBatis在注解上使用动态SQL方式(@select使用if)
Jul 07 Java/Android
Java设计模式之享元模式示例详解
解析探秘fescar分布式事务实现原理
关于ObjectUtils.isEmpty() 和 null 的区别
Feb 28 #Java/Android
java objectUtils 使用可能会出现的问题
Feb 28 #Java/Android
JVM之方法返回地址详解
Feb 28 #Java/Android
解决persistence.xml配置文件修改存放路径的问题
Feb 24 #Java/Android
Java实现学生管理系统(IO版)
You might like
PHP命名空间用法实例分析
2019/09/04 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
jQuery ajax serialize() 方法使用示例
2014/11/02 Javascript
在JavaScript中操作时间之getMonth()方法的使用
2015/06/10 Javascript
AngularJS学习笔记之基本指令(init、repeat)
2015/06/16 Javascript
深入学习AngularJS中数据的双向绑定机制
2016/03/04 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
2016/08/29 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
列举Python中吸引人的一些特性
2015/04/09 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python 常用的基础函数
2018/07/10 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
linux面试题参考答案(4)
2013/01/28 面试题
工商管理专业实习生自我鉴定
2013/09/29 职场文书
高中毕业自我鉴定范文
2013/10/02 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
英语专业自荐书
2014/06/13 职场文书
党员转正意见怎么写
2015/06/03 职场文书
长征观后感
2015/06/09 职场文书
新入职员工工作总结
2015/10/15 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
Java数组详细介绍及相关工具类
2022/04/14 Java/Android