1.pom.xml
<!-- MySQL 连接驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- lombok 自动实现getset -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
</dependencies>
2.Config文件(自动填充)
//自动填充时间
@MapperScan("com.gtm.hishop.work.mapper")
@EnableTransactionManagement//事务自动开启 自动管理事务
@Configuration//配置类
@Slf4j
@Component//一定不要忘记把处理器加到IOC容器中
public class MyBatiesPlusConfig implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createdTime", LocalDateTime.now(), metaObject);
this.setFieldValByName("updatedTime", LocalDateTime.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updatedTime", LocalDateTime.now(), metaObject);
}
}
3.pojo(TableField在实体上指定一下)
private Integer version;
@TableField(fill = FieldFill.INSERT)//自动填充注解需要处理MetaObjectHandler
private LocalDateTime createdTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updatedTime;
4.yml
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mytest?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
server:
port: 8080
servlet:
context-path: /api
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
乐观锁和逻辑删除 手动搞吧