MyBatis Plus 将书写复杂的 SQL 查询条件进行了封装,使用编程的形式完成查询条件的组合
我们使用 Wrapper 类来构建条件查询
创建 Spring Boot 项目
添加对应依赖
编写 UserDao 接口
编写模型类
编写引导类
编写配置文件
编写测试类
@SpringBootTest
class Mybatisplus02DqlApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testGetAll(){
List<User> userList = userDao.selectList(null);
System.out.println(userList);
}
}
处理日志 Banner
# mybatis-plus日志控制台输出
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
banner: off **# 关闭mybatisplus启动图标**
spring:
main:
banner-mode: off **# 关闭SpringBoot启动图标(banner)**
在进行查询的时候,我们的入口是在 Wrapper 这个类上,因为它是一个接口,所以我们需要去找它对应的实现类,关于实现类也有很多,说明我们有多种构建查询条件对象的方式
QueryWrapper
:在写条件的时候,容易出错,比如age写错,就会导致查询不成功
@SpringBootTest
class Mybatisplus02DqlApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testGetAll(){
QueryWrapper qw = new QueryWrapper();
qw.lt("age",18);
List<User> userList = userDao.selectList(qw);
System.out.println(userList);
}
}
QueryWrapper
的基础上使用 Lambda:
@SpringBootTest
class Mybatisplus02DqlApplicationTests {
@Autowired
private UserDao userDao;
@Test
void testGetAll(){
QueryWrapper<User> qw = new QueryWrapper<User>();
qw.lambda().lt(User::getAge, 10);//添加条件
List<User> userList = userDao.selectList(qw);
System.out.println(userList);
}
}
<aside>
💡 构建 LambdaQueryWrapper
的时候泛型不能省
</aside>
LambdaQueryWrapper
:不用再多一层 lambda()
调用**(更推荐)**