阿里巴巴开发规范,对于每一张表都因该有id(主键),createTime(创建时间),updateTime(修改时间)这三个字段 主键ID我们可以使用自增,或者雪花算法 创建时间修改时间我们可以使用数据库的默认值,当然也可以自己维护,或者使用MybatisPlus提供的自动填充功能 /** * 添加时自动填充当前字
从新创建一个类,解决完成数据库入库操作时,其中创建时间和修改时间说明: 在入库操作时,自动填充 created/updated时间.在修改操作时,自动填充 updated时间. @Componentpublic class MyMetaObjectHandler implements MetaObjectHandler { //完成新增入库操作应该如何填充creat
1,在属性类中添加注解 @ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) private Date gmtCreate; @ApiModelProperty(value = "更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) private Date gmtModified;
背景描述 目前,大多数项目的数据库设计,都会添加一些公共字段,比如version(版本号)、deleted(逻辑删除标识)、create_time、update_time、create_by、update_by,这些字段都是在各个业务里分开处理的。 这是,mybatis给我们提供了一种便利的方式,采用切面的方式进行实现。 实现过程 第一步
Application.yml 配置 mybatis-plus: configuration: call-setters-on-nulls: true #设置当查询结果值为null时,同样映射该查询字段给map。 map-underscore-to-camel-case: false # 数据库下划线自动转驼峰标示关闭 auto-mapping-behavior: full # log-impl: org.apa
实体类 @ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) private Date gmtCreate; @ApiModelProperty(value = "更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) private Date gmtModified; Handler处理器 package com.qbb.zxj
自动填充功能 我使用的是3.0.5版本的 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> 在需要做自动填充的实体类字段上加入相应字段 @TableField(
步骤: 1: 在实体类上加注解 /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private LocalDateTime insertTime; /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime;
MybatisPlus 导入依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency> 主键自动生成策略(雪花算法) //
1、在service-base模块中添加 创建包handler,创建自动填充类 MyMetaObjectHandler @Component public class MyMetaObjectHandler implements MetaObjectHandler { //自动填充 @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName
@Component public class MyHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { // 在createTime字段上加注解@TableField(fill = FieldFill.INSERT) this.setFieldValByName("createTime", new
1.选对需要设置的公共字段进行分类时需要插入更新,还是修改更新,还是插入和修改都更新 2.创建拦截器 @Component@Slf4jpublic class StaffCenterMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) {