1 快速入门
1、导包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
2、实体类
@Data
@TableName("user")
public class User {
@TableId(value = "id",type = IdType.AUTO) // 自增id
private int id;
private String username;
private String password;
}
3、mapper接口继承BaseMapper
public interface UserMapper extends BaseMapper<User> {
}
4、mapper文件扫描
@SpringBootApplication
@MapperScan("com.mapper") // 扫描mapper文件
public class MybatisPlusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusApplication.class, args);
}
}
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
UserMapper 中的 selectList()
方法的参数为 MP 内置的条件封装器 Wrapper
,所以不填写就是无任何条件。
2 CRUD
1、增
int insert(T entity);
实体类中,主键自增设置
// 数据库要开启自增
@TableId(type = IdType.AUTO)
private Long id;
2、删
// 根据 ID 删除
int deleteById(Serializable id);
// 根据 columnMap 条件,删除记录
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
3、改
// 字段填充内容
@TableField(fill = FieldFill.INSERT)
private Data createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Data updateTime;
4、查
// 多id查询
List<User> users = userMapper.selectBatchIds(Arrays.asList(1,2,3));
// 条件查询
Map<String,Object> map = new HashMap<>();
map.put("name","Jone");
List<User> users = userMapper.selectByMap(map);
3 分页插件
@Configuration
@MapperScan("com.mapper")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
Page<User> page = new Page<>(1,5);
Page<User> userPage = userMapper.selectPage(page, null);
List<User> users = userPage.getRecords();
4 条件构造器
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name","Jack");
List<User> users = userMapper.selectList(wrapper);
本文参考链接:https://blog.csdn.net/wyytjh/article/details/116496138