第一步:导入依赖
<!--MybatisPlus依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<!--自动生成代码-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--MybatisPlus分页插件-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.4.2</version>
</dependency>
第二步、写个配置类MybatisPlus
第三步,编写实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class MyUser implements Serializable {
/* id 对应数据库中的主键 (uuid 自增id 雪花算法 redis zookeeper等) 主键生成策略*/
/*
AUTO(0), 自增策略
NONE(1), 未设置主键
INPUT(2), 手动输入主键
ASSIGN_ID(3),
ASSIGN_UUID(4), 全局唯一id
ID_WORKER 默认的全局id
ID_WORKER_STR :ID_WORKER 字符串表示法
*/
@TableId(type = IdType.ID_WORKER)
private Long id;
private String name;
private Integer age;
private String email;
/*自动生成创建时间 和 更新时间 还需要配置处理器*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
@Version /*这个注解代表乐观锁 注册主键*/
private Integer version;
}
第四步:编写mapper层
/*继承BaseMapper <这里面是你想要操作的对象>*/
@Mapper
public interface UserMapper extends BaseMapper<MyUser>{
}
第五步:可以Test进新建单元测试了
第六步:番外篇,mybatisPlus的自动更新和创建时间
@Component
@Slf4j
public class MyCreateTimeHandler implements MetaObjectHandler {
/*插入时填充策略*/
@Override
public void insertFill(MetaObject metaObject) {
log.info("进入了插入时 时间的处理器");
this.setFieldValByName("createTime",new Date(),metaObject);
System.out.println("输出的时间"+new Date());
this.setFieldValByName("updateTime",new Date(),metaObject);
}
/*更新时填充策略*/
@Override
public void updateFill(MetaObject metaObject) {
log.info("进入了更新时 时间的处理器");
this.setFieldValByName("updateTime",new Date(),metaObject);
}
}