针对
mybatisplus
的复杂条件,需要将条件封装到
QueryWrapper
和
UpdateWrapper
对象中
1.QueryWrapper
: 查询,删除条件封装,
QueryWrapper
对象用于封装查询,删除条件
2.UpdateWrapper
: 修改条件封装,
UpdateWrapper 对象用于封装修改的条件
注意:这里用的
id,name,age
等都是表中的字段名,不是实体类的变量名
如果要封装方法则需要自己在server层自定义方法
UpdateWrapper
QueryWrapper
MybatisPlus分页查询
首先配置分页插件
@Configuration
//扫描mapper接口所在的包
@MapperScan("com.atguigu.mybatispius.mapper")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor=new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
@Test
public void testPage() {
Page<User> page = new Page<>(1, 3);
userMapper.selectPage(page, null);
System.out.println(page.getRecords());
}
自己的方法使用分页插件
/**
* 通过年龄查询用户信息并分页
* @param page Mybatis——Plus所提供的分页对象,必须位于第一个参数的位置
* @param age
* @return
*/
Page<User> selectPageVo(@Param("page") Page<User> page,@Param("age") Integer age);
<select id="selectPageVo" resultType="User">
select uid,user_name,age,email from t_user where age >#{age}
</select>
@Test
public void testPageVo(){
Page<User> page=new Page<>(1,3);
userMapper.selectPageVo(page,20);
}