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分页绝对路径写法过程的详细介绍,希望可以对你有所帮助。

阅读剩余 65%

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

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

相关文章

  • UniApp + SpringBoot 实现微信支付和退款功能

    UniApp 是一款跨平台的移动应用开发框架,通常可同时构建出 iOS 和 Android 应用。SpringBoot 是一款流行的 Java Web 开发框架,提供了快速搭建 web 应用的能力。通过结合起来,可以实现微信支付和退款功能。 第一步:注册微信开发者账号 如果没有微信开发者账号,需要手动注册一个。注册成功后,需要进行微信支付相关的配置,包括商户…

    Java 2023年5月23日
    00
  • 通过Session案例分析一次性验证码登录

    下面我将为您详细讲解如何通过Session实现一次性验证码登录的完整攻略。 什么是一次性验证码登录 一次性验证码登录是指用户在输入正确的账号密码后,需要再次输入一次性验证码才能成功登录的方式,以增加登录的安全性。该方式常用于网上银行、支付等需要较高安全性的场景中。 实现方式 一次性验证码登录的实现方式比较简单,主要通过Session来完成。具体步骤如下: 用…

    Java 2023年6月15日
    00
  • MSSQL 2005 安全设置图文教程

    MSSQL 2005是一个常用的数据库管理系统,在使用时需要注意安全问题。下面是详细的MSSQL 2005安全设置攻略。 1. 安装MSSQL 2005 首先要确保安装了最新版本的MSSQL 2005,安装过程中需要保证网络连接畅通,最好禁用防火墙和杀毒软件等安全软件。 2. 创建数据库 在MSSQL 2005中创建数据库可以使用Transact-SQL的C…

    Java 2023年6月15日
    00
  • SSH框架网上商城项目第10战之搭建商品类基本模块

    为了方便说明,我们先假设该网上商城项目已经基本搭建完成并且有一个可以登录系统的页面。接下来,针对搭建商品类基本模块,我将按照如下步骤进行讲解: 1. 创建商品类相关的数据库表 首先,需要在数据库中创建商品类相关的表,可以根据实际需求设计表结构,以下是一个示例: CREATE TABLE `tb_category` ( `id` int(11) NOT NUL…

    Java 2023年6月15日
    00
  • Spring Boot整合Bootstrap的超详细步骤

    下面是“Spring Boot整合Bootstrap的超详细步骤”完整攻略: 1. 引入Bootstrap资源 首先,在你的Web项目中引入Bootstrap资源,具体来说,就是将Bootstrap的CSS、JS等文件引入到项目中。你可以通过下载Bootstrap的官方资源文件并手工进行配置,也可以直接使用CDN引入。 下面示例展示了通过CDN直接引入Boo…

    Java 2023年5月15日
    00
  • java学习之利用TCP实现的简单聊天示例代码

    下面是关于“java学习之利用TCP实现的简单聊天示例代码”的完整攻略。 什么是TCP? TCP,即传输控制协议,是一种在网络中传输的协议。它能够保证数据的完整性、顺序性和传输可靠性。在网络通信中,TCP是最常见、最重要的传输协议之一。 利用TCP实现的简单聊天示例代码 下面,我将提供一段使用Java编写的利用TCP实现的简单聊天示例代码,可以让你更好地理解…

    Java 2023年5月19日
    00
  • 一篇文章带你了解Maven的坐标概念以及依赖管理

    一篇文章带你了解Maven的坐标概念以及依赖管理 Maven是一个基于Java的项目管理工具,使用Maven可以轻松地管理项目的依赖、构建和发布。而在Maven中,核心的概念之一就是坐标。 什么是坐标 坐标用于唯一标识一个Maven项目,包括了四个部分: groupId:一般表示项目的组织ID或名称,用于在Maven存储库中组织项目。 artifactId:…

    Java 2023年5月26日
    00
  • SpringBoot整合Kafka工具类的详细代码

    下面是SpringBoot整合Kafka工具类的详细代码攻略。 环境准备 确认已经安装JDK、Maven和Kafka 在Maven中添加Kafka依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kaf…

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