Java生成日期时间存入Mysql数据库的实现方法
作者:爱音乐的编程师 发布时间:2024-01-13 03:49:08
标签:Java,日期时间
一、创建数据库标准
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;
三、使用步骤
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;
}
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);
}
}
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);
}
操作成功:
来源:https://blog.csdn.net/javaeEEse/article/details/123224099


猜你喜欢
- 前言Hello!大家好,有好几天没有跟大家见面咯~不知道大家是否在等待《小玩意儿》专栏的更新呢上一篇的文章【老师见打系列】:我只是写了一个自
- 前言分享一个Vue前端导出Excel文件的方法。记录学习!功能需求:将表格的全部数据导出Excel格式的文件前端:Vue3+Element-
- 一键执行虚拟机一键安装python3.8环境,只需将网络适配器改为nat模式即可(确保主机能够上网),随后将tar包放入/root目录下,执
- 列表对象pop()方法的使用pop() 方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。语法:verse.pop(in
- facebook的信息架构设计,是目前为止互联网上我见过的最合理的信息架构。每次培训,我基本都需要拿20分钟左右的时间来解析它,包括老的、新
- pandas可以非常方便的写数据到excel,那么如何写多个dataframe到不同的sheet呢?使用pandas.ExcelWriter
- 原理就是先声明常量,包括列数,行数,各列的属性,然后在程序的其它过程用这些常量来控制Cells。非常方便,便于修改和移植! 以下为窗体整体代
- AES加密方式有五种 : ECB, CBC, CTR, CFB, OFB从安全性角度推荐cbc算法windows 下安装 : pip ins
- 如果你在Flask中启动过子线程,然后在子线程中读写过g对象或者尝试从request对象中读取url参数,那么,你肯定对下面这个报错不陌生:
- 360搜索引擎自动收录功能,官方提供了代码,带式,十分坑爹,没有提供批量提交入口,只是提供了一段js代码,关键是 一个js去下载另外一个js
- 众所周知IE6不支持position:fixed,这个bug与IE6的双倍margin和不支持PNG透明等bug一样臭名昭著。前些天我做自己
- 转自微信公众号: Python之禅1.日志简介说到日志,无论是写框架代码还是业务代码,都离不开日志的记录,他能给我们定位问题带来极
- 一:代码实现class TreeNode: """节点类""&q
- 目录一、路由配置二、vue页面嵌套三、嵌套联系一、路由配置const routes = [ { pat
- 本文实例讲述了python基于queue和threading实现多线程下载的方法,分享给大家供大家参考。具体方法如下:主代码如下: &nbs
- HTTP状态码 摘要说明成功2××  
- 假如有一列全是字符串的dataframe,希望提取包含特定字符的所有数据,该如何提取呢?因为之前尝试使用filter,发现行不通,最终找到这
- mysql数据库自不必说,现在很多程序开发应用及站长们常用到,jdbc可能一般会比较陌生一些,jdbc是什么意思?这里也会提到,最主要的是为
- python正则表达式 匹配反斜杠正则 需要把原始字符串不被转义的条件下传递给正则模块,正则再去转义。 r表示r后面的字符串为原始字符串,防
- 本文实例为大家分享了readAsDataUrl方法预览图片的具体代码,供大家参考,具体内容如下<html> <head&