当前位置: 首页 > news >正文

山东建设厅网站专职安全员seo推广培训中心

山东建设厅网站专职安全员,seo推广培训中心,wordpress 插件漏洞,wordpress 修订前言 早就知道MybatisPlus对分页进行了处理,但是一直没有实战用过,用的是自己封装的一个分页组件,虽不说麻烦吧,但是也不是特别简单。 写起来还是比较复杂,但是最近这个组件有了点小小的bug,我决定是时候…

前言

早就知道MybatisPlus对分页进行了处理,但是一直没有实战用过,用的是自己封装的一个分页组件,虽不说麻烦吧,但是也不是特别简单。

写起来还是比较复杂,但是最近这个组件有了点小小的bug,我决定是时候放弃它了,毅然加入光荣的进化。

然后我就去摸索使用MybatisPlus封装的分页组件,不用不知道,一用吓一跳。不得不说是真香啊!功能强大且使用简单

吹了这么多,下面就简单下如何使用MybatisPlus实现分页效果

简单说明

核心代码其实就这几行:

 Page<ProjectBiddVO> page = new Page<>(pageNo,pageSize);IPage<ProjectBiddVO> projectBiddVOS =  projectBiddService.queryListInfo(page,projectBiddvo);

Page就是根据当前页数和显示条数得到的一个结果集

在这里插入图片描述

其中,IPage 是分页的关键,将我们需要分页的条件用Page处理,即可达到分页效果。

可以看到有很多里面方法

在这里插入图片描述

代码实现

实现起来特别简单,两行代码即可

两个参数pageNo和pageSize,分别是limit的两个参数,对应当前页和每页条数

下面是相关的代码,供大家参考:

controller

这样写有一个问题,就是如果不传pageNo和pageSize,会空指针报错

在controller中前两个参数是必传的,一般后面那个参数是实体,然后将pageNo和pageSize转换为IPage对象,后面只需要传IPage参数和业务参数了,如果只写实现分页,只传IPage就够了。

 @ApiOperation(value = "招投标项目-自定义列表查询", notes = "招投标项目-自定义列表查询")@GetMapping(value = "/queryListInfo")public Result<?> queryListInfo(Integer pageNo,Integer pageSize,ProjectBiddVO projectBiddvo) {Page<ProjectBiddVO> page = new Page<>(pageNo,pageSize);IPage<ProjectBiddVO> projectBiddVOS =  projectBiddService.queryListInfo(page,projectBiddvo);return Result.OK(projectBiddVOS);}

接口测试:

在这里插入图片描述

想要优化这个问题,也很简单,可以给这两个参数默认值,防止空指针

也可以通过if判断参数是否为空,是空的话赋值

这里我选择前者,因为我觉得更简单

 @ApiOperation(value = "招投标项目-自定义列表查询", notes = "招投标项目-自定义列表查询")@GetMapping(value = "/queryListInfo")public Result<?> queryListInfo(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,ProjectBiddVO projectBiddvo) {Page<ProjectBiddVO> page = new Page<>(pageNo,pageSize);IPage<ProjectBiddVO> projectBiddVOS =  projectBiddService.queryListInfo(page,projectBiddvo);return Result.OK(projectBiddVOS);}

再来运行一下吧,这次就算不传参,也是不会报错的

在这里插入图片描述

不传当前页数默认就是指定的默认值喽,传的话就按照传的值去分页

通过日志可以发现,其实也是先去count了一下总条数,再进行分页处理的

在这里插入图片描述

service

  IPage<ProjectBiddVO> queryListInfo(Page<ProjectBiddVO> page, ProjectBiddVO projectBiddVO);

serviceImpl

public IPage<ProjectBiddVO> queryListInfo(Page<ProjectBiddVO> page, ProjectBiddVO projectBiddVO) {return projectBiddMapper.queryListInfo(page,projectBiddVO);
}

mapper(dao)

    IPage<ProjectBiddVO> queryListInfo(Page<ProjectBiddVO> page,@Param("projectBiddVO") ProjectBiddVO projectBiddVO);

mapper(dao).xml

关于xml文件,不用我们手动指定limit的条件了,改怎么写就怎么写就好,MybatisPlus会根据我们的sql查询结果进行分页处理

例如我写的是:

  selectid,province,city,county,concat(province,city,county) as area,business_code_dic,section_status_dic,project_bidd_code,project_bidd_name,deposit_amount,bidder,open_bidd_time,margins_End_time,del_flag,remarkfromesgs_project_bidd<where>del_flag = 0 and open_bidd_time &gt; now() and section_status_dic=0<if test="projectBiddVO.projectBiddName!=null and projectBiddVO.projectBiddName!=''">and project_bidd_name=#{projectBiddVO.projectBiddName}</if><if test="projectBiddVO.projectBiddCode!=null and projectBiddVO.projectBiddCode!=''">and project_bidd_code=#{projectBiddVO.projectBiddCode}</if><if test="projectBiddVO.bidder!=null and projectBiddVO.bidder!=''">and bidder=#{projectBiddVO.bidder}</if><if test="projectBiddVO.openBiddStartTime != null and projectBiddVO.openBiddStartTime != ''">and open_bidd_time &gt; #{projectBiddVO.openBiddStartTime}</if><if test="projectBiddVO.openBiddStopTime != null and projectBiddVO.openBiddStopTime != ''">and open_bidd_time &lt; #{projectBiddVO.openBiddStopTime}</if></where><if test="projectBiddVO.area!=null and projectBiddVO.area!=''">having area like concat(#{projectBiddVO.area}, '%')</if></select>

解决报错

如果遇到下面啊这个报错信息:

com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can’t found IPage for args!

在这里插入图片描述

在这里插入图片描述

出现这个错误大概率是因为:

我们想要使用分页,且把返回值定义成了IPage ,但是没有把page对象传入到mapper中。且要把这个page放到第一个参数。

错误演示:

在这里插入图片描述

正确演示:

在这里插入图片描述

总结

使用起来简单且强大,真香!

http://www.yidumall.com/news/2143.html

相关文章:

  • 注册分公司流程及所需资料优化营商环境个人心得
  • 沂南网站建设搜狗官网
  • phpstudy搭建网站教程网站推广怎么做才有效果
  • 做网站接私活怎么收费百度网站登录入口
  • 中国铁路监理建设协会网站北京seo网络优化招聘网
  • 北京网站建设公司费用b2b外链
  • 天津网站建设服务好南昌做seo的公司有哪些
  • 武汉学校网站开发aso优化是什么
  • 天津建设部网站代运营公司是怎么运营的
  • 可以做淘宝联盟的免费网站上海seo
  • 上海杨浦区网站建设免费网站建设平台
  • 网站后台m东莞市网站建设
  • wordpress容易被黑么优化大师win10
  • wordpress访问源端口号合肥优化
  • 网站建设工作组网页搜索排名提升
  • 网站搜索引擎收录百度一下首页百度一下知道
  • 网站备案号在哪儿查询深圳seo网站推广方案
  • 网站开发好做吗百度推广关键词匹配模式
  • iis通过地址访问不了网站源云推广
  • 做网络推广阿里巴巴还是网站好中国企业500强排行榜
  • 做网站 人工智能东莞网站推广技巧
  • 西安网站制作公司广州30万人感染
  • 做研学的网站北京建公司网站价格
  • 淘客怎么样做网站怎么做网页
  • 网站定制系统数据处理软件重庆百度推广优化
  • 百度快照网站网络营销的主要内容有哪些
  • 营销策划首选北京seo编辑
  • 免费个人网站建站seo关键词优化软件手机
  • 网站建设喀什百度竞价培训
  • asp网站源码安装流程赣州网站seo