mybatis分页绝对路径写法过程详解

下面是关于"mybatis分页绝对路径写法过程详解"的完整攻略:

1.什么是Mybatis分页

Mybatis分页是指在数据库中查询出一批数据,然后将这批数据分页展示到页面上的一种技术。对于大数据量的系统来说,分页功能显得尤为重要。

2.Mybatis分页的实现

Mybatis分页有两种方式实现:传统方式和使用插件方式。这里重点讲解使用插件方式实现Mybatis分页。

2.1.使用插件方式实现分页

Mybatis官方提供了一个mybatis-pagehelper插件,这个插件可以帮助我们很方便的实现Mybatis分页功能。

具体实现步骤如下:

1.引入mybatis-pagehelper插件

Maven方式:

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.0.0</version>
</dependency>

Gradle方式:

compile group: 'com.github.pagehelper', name: 'pagehelper', version: '5.0.0'

2.在Mybatis配置文件中配置mybatis-pagehelper插件

<plugins>
    <plugin interceptor="com.github.pagehelper.PageInterceptor"/>
</plugins>

3.在Mapper.xml文件中使用分页查询

<select id="selectUsersByPage" resultMap="UserMap">
    SELECT * FROM USERS
</select>

4.在Java代码中调用分页查询方法

PageHelper.startPage(1, 10); // 查询第1页,每页10行记录
List<User> userList = userDao.selectUsersByPage();

2.2.绝对路径方式实现分页

在Mybatis实现分页的时候,可以通过绝对路径的方式来完成,这样写的好处是通用性更加强,可以自由复制到其他模块中使用。

具体实现步骤如下:

1.在根目录下创建p/page.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="page">
    <select id="selectByPage" resultMap="UserMap">
        SELECT * FROM USERS LIMIT #{start}, #{limit}
    </select>
</mapper>

2.在Mapper.xml文件中通过include标签引入p/page.xml文件

<mapper namespace="user">
    <include resource="p/page.xml"/>

    <select id="selectUsers" resultMap="UserMap">
        SELECT * FROM USERS
    </select>
</mapper>

3.在Java代码中调用分页查询方法

SqlSession sqlSession = MybatisUtils.getSqlSession();

Map<String, Integer> map = new HashMap<>();
map.put("start", 0); // 起始行
map.put("limit", 10); // 查询记录数

List<User> userList = sqlSession.selectList("page.selectByPage", map);

3.示例说明

3.1.使用插件方式示例

Mapper.xml文件:

<mapper namespace="userDao">
    <select id="selectUsersByPage" resultMap="UserMap">
        SELECT * FROM USERS
    </select>
</mapper>

Java代码:

PageHelper.startPage(1, 10); // 查询第1页,每页10行记录
List<User> userList = userDao.selectUsersByPage();

3.2.绝对路径方式示例

Mapper.xml文件:

<mapper namespace="userDao">
    <include resource="p/page.xml"/>

    <select id="selectUsers" resultMap="UserMap">
        SELECT * FROM USERS
    </select>
</mapper>

Java代码:

SqlSession sqlSession = MybatisUtils.getSqlSession();

Map<String, Integer> map = new HashMap<>();
map.put("start", 0); // 起始行
map.put("limit", 10); // 查询记录数

List<User> userList = sqlSession.selectList("page.selectByPage", map);

以上就是关于Mybatis分页绝对路径写法过程的详细介绍,希望可以对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis分页绝对路径写法过程详解 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 30道有趣的JVM面试题(小结)

    我将根据“30道有趣的JVM面试题(小结)”这篇文章,给出一份完整的攻略,包括每道面试题的解析和答案。 1. 什么是JVM? JVM即Java Virtual Machine,Java虚拟机。它是一种能够在各种平台上运行Java程序的虚拟机。JVM可以将Java代码编译成字节码,然后在不同的平台上通过解释执行这些字节码以实现Java程序的运行。 2. Jav…

    Java 2023年5月19日
    00
  • java获取两个数组中不同数据的方法

    下面是讲解“java获取两个数组中不同数据的方法”的攻略: 概述 有时候,我们需要比较两个数组,找出它们中的不同数据。Java中有多种方式可以实现这个目的,例如使用循环遍历、使用Set集合、使用Stream API等等。接下来,我们将逐一介绍这些方法的使用,同时给出示例说明。 方法一:循环遍历法 这种方法时常使用,它需要用到两个嵌套循环来比较两个数组中的每一…

    Java 2023年5月26日
    00
  • 使用idea搭建一个spring mvc项目的图文教程

    下面是使用Idea搭建一个Spring MVC项目的详细攻略。 安装Idea:首先,我们需要安装Idea开发工具。可以去JetBrains官网下载最新版的Idea,并安装配置。 创建一个Maven项目:在Idea中选择File -> New -> Project,然后选择Maven项目模板。 配置pom.xml:在Maven项目中,pom.xml…

    Java 2023年5月19日
    00
  • 一文带你深入了解Java的数据结构

    一文带你深入了解Java的数据结构 什么是数据结构 数据结构是指数据如何在计算机中组织和存储的方式。在计算机科学中,数据结构是一种特殊的格式化数据,使得计算机程序能够高效地访问和修改数据。其中,常用的数据结构有数组、链表、栈、队列、树等。 Java的数据结构 Java中自带了一些数据结构类库,例如:Collection、List、Set、Map等。这些数据结…

    Java 2023年5月23日
    00
  • Springboot的maven间接依赖的实现

    下面就来详细讲解一下Springboot的maven间接依赖的实现。 首先,我们需要理解一下什么是maven依赖。在项目中,我们常常需要引入不同的jar包来实现不同的功能,而这些jar包之间可能存在依赖关系。如果我们手动去下载并放置这些jar包,并且手动管理它们之间的依赖关系,就会非常繁琐和复杂。Maven就是一个依赖管理工具,它通过定义pom.xml文件来…

    Java 2023年5月20日
    00
  • Maven  pom.xml与settings.xml详解

    Maven pom.xml与settings.xml详解 1. pom.xml 1.1 意义 pom.xml 是 Maven 项目的 XML 形式的配置文件。它存储关于项目的信息,例如它的依赖项,它编译时的类路径,构建插件及其配置,开发者列表,许可证等。 1.2 样例配置 下面是一个标准的pom.xml的例子: <project xmlns=&quot…

    Java 2023年6月2日
    00
  • JavaWeb Servlet实现文件上传与下载功能实例

    下面是 “JavaWeb Servlet实现文件上传与下载功能实例” 的完整攻略。 一、准备工作 在开始实现文件上传与下载功能之前,我们需要准备如下环境和工具: JDK:Java开发环境,最好使用JDK 1.8及以上版本; Eclipse:Java IDE,也可以使用其他Java IDE,比如IntelliJ IDEA等; Tomcat:JavaWeb服务器…

    Java 2023年5月19日
    00
  • javaweb实现在线支付功能

    针对“javaweb实现在线支付功能”的完整攻略,下面是一份详细的解释: 1. 概述 在 javaweb 中实现在线支付功能,需要借助第三方支付平台的支持。目前市面上有许多第三方支付平台可供选择,如支付宝、微信支付、银联支付等,本文以支付宝为例,介绍如何在 javaweb 中实现在线支付功能。 2. 前置条件 在开始之前,我们需要先获得支付宝的接口文档,并获…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部