引入相关依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
</dependency>
开启MyBatisPlus日志(yml)
# 开启mp的日志(输出到控制台)
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
1.@Data注解
写在类上,为当前实体类在编译期设置对应的get/set方法,无参/无 参构造方法,toString方法,hashCode方法,equals方法等。
2.定义DAO层数据接口,继承BaseMapper接口
BaseMapper中封装了常用方法。
3.MyBatisPlus分页功能
1)设置分页拦截器作为Spring管理的bean
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
//1.创建mybaitsPlusInterceptor拦截器对象
MybatisPlusInterceptor mybatisPlusInterceptor=
new MybatisPlusInterceptor();
//2.添加分页拦截器
mybatisPlusInterceptor.addInnerInterceptor(
new PaginationInnerInterceptor()
);
return mybatisPlusInterceptor;
}
}
2)执行分页查询
//分页查询
@Test
void testSelectPage(){
//1 创建IPage分页对象,设置分页参数
IPage<User> page=new Page<>(1,3);
//2 执行分页查询
userDao.selectPage(page,null);
//3 获取分页结果
System.out.println("当前页码值:"+page.getCurrent());
System.out.println("每页显示数:"+page.getSize());
System.out.println("总页数:"+page.getPages());
System.out.println("总条数:"+page.getTotal());
System.out.println("当前页数据:"+page.getRecords());
4.mybatisplus条件查询
lt <,gt >,le <= ,ge >=
@Test
public void testSelectPage(){
//1.创建IPage对象,设置分页参数
IPage<User> page = new Page<>(1,5);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
//条件 lt <,gt >,le <= ,ge >=
queryWrapper.gt("age",18);
//2.执行分页查询
IPage iPage=userDao.selectPage(page,queryWrapper);
//3.获取分页结果
}
lambda格式按条件查询
@Test
public void testSelectPage1(){
//lambda表达式条件查询
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
lqw.lt(User::getAge,10);
List<User> list = userDao.selectList(lqw);
System.out.println(list);
}
组合条件
并且关系(and)
//并且关系
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//并且关系:10到30岁之间
lqw.lt(User::getAge, 30).gt(User::getAge, 10);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);
或者关系(or)
//或者关系
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<User>();
//或者关系:小于10岁或者大于30岁
lqw.lt(User::getAge, 10).or().gt(User::getAge, 30);
List<User> userList = userDao.selectList(lqw);
System.out.println(userList);