详情见 mybatis-plus官网
快速开始
- 引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
- 配置连接数据库,和mybatis一样
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
-
在 Spring Boot 启动类中添加
@MapperScan
注解,扫描 Mapper 文件夹 -
编写实体类
User.java
-
编写Mapper类
UserMapper.java
public interface UserMapper extends BaseMapper<User> {
}
- 测试
常用注解
-
@TableName:将实体类和表名映射
-
@TableId
-
@TableField
条件构造器
@Test
void load1(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.isNotNull("name")
.isNotNull("email")
.ge("age",20);
userMapper.selectList(wrapper).forEach(System.out::println);
}
@Test
void load2(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name","tony");
List<User> list = userMapper.selectList(wrapper);
list.forEach(System.out::println);
}
@Test
void load3(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age",1,20);
Integer integer = userMapper.selectCount(wrapper);
System.out.println(integer);
}
@Test
void load4(){
//模糊查询
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.notLike("name","c")
.likeLeft("email","qq");
List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);
maps.forEach(System.out::println);
}
@Test
void load6(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.orderByAsc("id"); //通过id进行排序
List<User> list = userMapper.selectList(wrapper);
list.forEach(System.out::println);
}
@Test
void load5(){
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.inSql("id","select id from user where id<3");
List<Object> objects = userMapper.selectObjs(wrapper);
objects.forEach(System.out::println);
}
分页查询
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
@Test
void test2(){
Page<User> page = new Page<>(2, 2);
Page<User> userPage = userDao.selectPage(page, null);
System.out.println("总数量:"+userPage.getTotal());
List<User> records = userPage.getRecords();
System.out.println(records);
}
来源:oschina
链接:https://my.oschina.net/codeccb/blog/4553093