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

一、创建数据库标准

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张图片

三、使用步骤

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张图片

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张图片

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("[email protected]");
        umsMemberMapper.insert(umsMember);
    }

操作成功:

Java生成日期时间存入Mysql数据库的实现方法_第4张图片

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

你可能感兴趣的:(Java生成日期时间存入Mysql数据库的实现方法)