引入依赖
org.springframework.boot spring-boot-starter-weborg.projectlombok lomboktrue io.springfox springfox-swagger22.7.0 com.github.xiaoymin swagger-bootstrap-ui1.9.6 com.baomidou mybatis-plus-boot-starter3.3.1.tmp mysql mysql-connector-java8.0.26
controller
@RestController
public class TestController {
@Autowired
private IProjectService projectService;
@ApiOperation("新增项目")
@PostMapping("/")
public void addProjectWrite(@RequestBody Project project) {
projectService.save(project);
}
}
service
public interface IProjectService extends IService{ }
serviceImpl
@Service public class ProjectServiceImpl extends ServiceImplimplements IProjectService { }
Mapper
@Service public class ProjectServiceImpl extends ServiceImplimplements IProjectService { }
Pojo
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ts_project")
@ApiModel(value="Project对象", description="撰写项目申请书的基本内容")
public class Project implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private String id;
private Integer workNumber;
private Integer adminId;
private String name;
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date gmtModified;
}
application.yml
server:
# 端口
port: 8081
spring:
# 数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
# Mybatis-plus配置
mybatis-plus:
#配置Mapper映射文件
mapper-locations: classpath*:/mapper
@Component
public class MymetaObjectHandler implements metaObjectHandler {
@Override
public void insertFill(metaObject metaObject) {
this.setFieldValByName("gmtCreate", new Date(), metaObject);
this.setFieldValByName("gmtModified", new Date(), metaObject);
}
@Override
public void updateFill(metaObject metaObject) {
this.setFieldValByName("gmtModified", new Date(), metaObject);
}
}
修改pojo类
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ts_project")
@ApiModel(value="Project对象", description="撰写项目申请书的基本内容")
public class Project implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private String id;
private Integer workNumber;
private Integer adminId;
private String name;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "Asia/Shanghai")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date gmtModified;
}
在gmtCreate上增加 @TableField(fill = FieldFill.INSERT) 表示创建时间。
在gmtModified上增加 @TableField(fill = FieldFill.INSERT_UPDATE)表示修改时间。
gmtCreate和gmtModified需要与自定义方法中的字段相匹配。
此时执行操作,会在表中添加时间,如下:



