mybatisplus多条件分页查询(EntityWrapper与QueryWrapper)

mybatisplus多条件分页查询(EntityWrapper与QueryWrapper)

首先mybatisplus的配置我就不说了,这个大家应该都会配置,不会可以百度,接下来直接放代码

首先是Cotroller层里的代码,这个层主要实现一个分页功能,

public ModelAndView findAll(Integer page, Integer size) {
        if (page == null) page = 1;
        if (size == null) size = 2;
        ModelAndView mav = new ModelAndView();
        mav.setViewName("bood");
        IPage<Book> iPage = boodService.findByPage(page, size);
        Long pages = 0L;
        if (iPage.getSize() == 0L) {
            pages = 0L;
        } else {
            pages = iPage.getTotal() / iPage.getSize();
            if (iPage.getTotal() % iPage.getSize() != 0L) {
                ++pages;
            }

        }
        mav.addObject("iPage", iPage);
        mav.addObject("pages",pages);
        return mav;

    }

接下来是service层代码,

public IPage<Book> findByPage(Integer currPage, Integer pageSize);

最后是serviceimpl层代码

public IPage<Book> findByPage(Integer currPage, Integer pageSize) {
        return boodMapper.selectPage(new Page<Book>(currPage, pageSize), new QueryWrapper<Book>()
                //条件查询,查找为字段“bremark”等于0的数据                     
                .eq("bremark",0));
    			/*模糊查询
    			.like()*/
    }

这个层我是用了条件构造器QueryWrapper来实现多条件查询,注意这是因为我的mybatisplus的版本是3.2版本,只有3.x的版本才有QueryWrapper,而如果是2.x版本,是没有QueryWrapper的,如果找不到QueryWrapper,可以在配置里将mybatisplus的版本改为3.x,或者使用EntityWrapper都行,两者的功能其实差不多。
当然其实还是建议说使用3.x版本以上的好一点,因为技术啊框架啊肯定是在不断升级的嘛,学是学不完的,所以我们需要不断学,不断使用较新的技术才能跟得上时代,当然,我们也要注意不要太急,不能一味想着去使用最新技术,有时候太新的东西,往往是还不成熟的,可能会有很多隐藏的问题,要学习较新且成熟的东西才好。

你可能感兴趣的:(mybatisplus多条件分页查询(EntityWrapper与QueryWrapper))