MyBatis分页插件应用

MyBatis分页插件应用MyBatis 分页插件学习笔记

MyBatis分页插件应用

1、前台代码(element-ui结构省略)

1.1 定义分页相关模型数据

pagination: { 
   //分页相关模型数据 currentPage: 1,//当前页码 pageSize:10,//每页显示的记录数 total:0,//总记录数 queryString:null//查询条件 }, dataList: [],//当前页要展示的分页列表数据 

1.2 分页定义方法

在页面中提供了findPage方法用于分页查询,为了能够在checkitem.html页面加载后直接可以展示分页数据,可以在VUE提供的钩子函数created中调用findPage方法

//钩子函数,VUE对象初始化完成后自动执行 created() { 
    this.findPage(); } 

1.3 完善分页方法执行时机

除了在created钩子函数中调用findPage方法查询分页数据之外,当用户点击查询按钮或者点击分页条中的页码时也需要调用findPage方法重新发起查询请求。

为查询按钮绑定单击事件,调用findPage方法

<el-button @click="findPage()" class="dalfBut">查询</el-button> 

为分页条组件绑定current-change事件,此事件是分页条组件自己定义的事件,当页码改变时触发,对应的处理函数为handleCurrentChange

<el-pagination class="pagiantion" @current-change="handleCurrentChange" :current-page="pagination.currentPage" :page-size="pagination.pageSize" layout="total, prev, pager, next, jumper" :total="pagination.total"> </el-pagination> 

定义handleCurrentChange方法

//切换页码 handleCurrentChange(currentPage) { 
    //currentPage为切换后的页码 this.pagination.currentPage = currentPage; this.findPage(); } 

2、后台代码

2.1 Controller

在CheckItemController中增加分页查询方法

 // 检查项分页查询 @RequestMapping("/findPage") public PageResult add(@RequestBody QueryPageBean queryPageBean){ 
    PageResult pageResult = checkItemService.pageQuery(queryPageBean); return pageResult; } 

2.2 服务接口

在CheckItemService服务接口中扩展分页查询方法

public interface CheckItemService { 
    PageResult pageQuery(QueryPageBean queryPageBean); } 

2.3 服务实现类

在CheckItemServiceImpl服务实现类中实现分页查询方法,基于Mybatis分页助手插件实现分页

@Override // 检查项分页查询 public PageResult pageQuery(QueryPageBean queryPageBean) { 
    Integer currentPage = queryPageBean.getCurrentPage(); Integer pageSize = queryPageBean.getPageSize(); String queryString = queryPageBean.getQueryString(); // 做的时候发现的一个bug,在除了第一页按条件查询的时候,不显示查询结果,原因就是当前页面不为第一页,所以要判断是否有查询条件,有则将当前页面设置为第一页 if(queryString != null && queryString.length() > 0){ 
    currentPage = 1; } // 完成分页插件,基于mybatis框架提供的分页助手插件完成 PageHelper.startPage(currentPage, pageSize); Page<CheckItem> page = checkItemDao.selectByCondition(queryString); long total = page.getTotal(); List<CheckItem> rows = page.getResult(); return new PageResult(total,rows); } 

2.4 Dao接口

在CheckItemDao接口中扩展分页查询方法

@Mapper public interface CheckItemDao { 
    Page<CheckItem> selectByCondition(String queryString); } 

2.5 Mapper映射文件

在CheckItemDao.xml文件中增加SQL定义

 <select id="selectByCondition" parameterType="string" resultType="com.itheima.pojo.CheckItem"> select * from t_checkitem <if test="value != null and value.length > 0"> where code = #{value} or name = #{value}  
     if>  
      select> 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178164.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:53
下一篇 2026年3月26日 下午5:53


相关推荐

  • 智能体 Agent 对话处理逻辑:从技术原理到产品落地

    智能体 Agent 对话处理逻辑:从技术原理到产品落地

    2026年3月16日
    1
  • arping指令linux,arping

    arping指令linux,arping例a,指定IP发送ARP请求[root@Blackghost~]arping192.168.1.11ARPING192.168.1.11from192.168.1.6eth0Unicastreplyfrom192.168.1.11[08:00:27:7e:b8:08]2.780msUnicastreplyfrom192.168.1.11[08:00:27:7e:b8…

    2022年6月10日
    46
  • killall: 未找到命令

    killall: 未找到命令报错信息 killall 未找到命令解决方案 root localhostloc yuminstallps

    2026年3月19日
    2
  • C语言文件操作(含详细步骤)

    C语言文件操作(含详细步骤)文章目录一 为什么使用文件 二 什么是文件 1 程序文件 2 数据文件 3 文件名三 文件的打开和关闭 1 文件指针 2 文件的打开和关闭 4 文件的顺序读写一 为什么使用文件 当我们在编写一个项目的时候 自然而然想到要把之前写入的数据保存起来 而只有我们自己选择删除数据的时候 数据才不复存在 这就涉及到了数据持久化的问题 我们一般数据持久化的方法有 把数据存放在磁盘文件 存放到数据库等方式 此处我们就讲到如何将数据放入到磁盘文件当中 二 什么是文件 磁盘上的文件就是文件 例如电脑当中的 C 盘内放入的文件夹内

    2026年3月19日
    2
  • Mac卸载JDK「建议收藏」

    Mac卸载JDK「建议收藏」在开发中可能需要用到某些版本的JDK,而系统中可能存在一些其它版本,此时可以切换到需要的版本,也可以删除掉不需要的版本,若想删除某个版本的JDK,请按如下操作:1、调出终端窗口,依次输入如下命令:sudorm-fr/Library/Internet\Plug-Ins/JavaAppletPlugin.pluginsudorm-fr/Library/PreferencesP

    2022年6月25日
    166
  • [Go] Go语言实现post请求时发送header头信息[通俗易懂]

    [Go] Go语言实现post请求时发送header头信息[通俗易懂]有些接口需要增加header头信息,里面传递token,这个时候就要求在post的时候能传递自己的header信息funcPostHeader(urlstring,msg[]byte,headersmap[string]string)(string,error){client:=&http.Client{}req,err…

    2022年7月16日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号