mybatis-plus使用QueryWrapper小结

mybatisplus自定义分页查询

接口:


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//实现类
 public PageList pageQuery(PageArgument pageArgument)  {
        //放入查询参数
        QueryWrapper queryWrapper=new  QueryWrapper ();
        //注意放入参数格式,关联查询要写别名
        queryWrapper.eq(StringUtils.isNotBlank(user.getId()), "b.id",user.getId());
      
        Page page = new Page();
        IPage temp = testMapper.pageQueryBaseline(new Page(pageArgument.getPage(), pageArgument.getRows()), queryWrapper);
        PageList pageList = new PageList();
        pageList.setTotal(temp.getTotal());
        pageList.setPageNum(pageArgument.getPage());
        pageList.setPageSize(pageArgument.getRows());
        pageList.setList(temp.getRecords());
        return pageList;
}


------------------------------------------------------------------------------------------------------------------------------------
//Mapper接口
@Mapper
public interface TestMapper extends BaseMapper {
    > E pageQueryTestUser(E page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

}

--------------------------------------------------------------------------
sql自定义:
 
    

其中ew.customSqlSegment

对应条件构造器queryWrapper里的条件,会在sql中自动拼接,不需要在sql中再写判断条件userId=#{userId}这样的。

QueryWrapper 设置参数几种格式

queryWrapper.eq(“userid”,“aa”); //相当于userid=#{userid}
queryWrapper.like(“userid”,“aa”); //相当于模糊查询
queryWrapper.eq(StringUtils.isNotBlank(user.getId()), “b.id”,user.getId()); //先判断这个参数是不是空,为空则不放入,不为空则放入参数
queryWrapper.isNull(“userid”) //相当于where userid is null

你可能感兴趣的:(mybatisplus,QueryWrapper,sql,java)