1. テーブルに必要な 3 つのフィールド: id、gmt_create、gmt_modified
2.gmt_create は作成時刻、gmt_modified は更新時刻です
3.ただし、作成時刻と更新時刻のデフォルト設定はデータベースで設定するのではなく、Mybatis-plusのハンドラで一元管理する必要があります。
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); }
操作成功:
以上がJavaで日付と時刻を生成し、MySQLデータベースに保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。