MyBatis 分页查询 - 使用 RowBounds 和 PageHelper 插件
"MyBatis 支持分页查询,可以通过使用RowBounds类或PageHelper插件来实现分页查询。\n\n使用RowBounds类进行分页查询的步骤如下:\n\n1. 在 Mapper 接口中定义一个方法,方法参数中添加RowBounds类型的参数,用于指定查询的起始位置和查询的数量。\n2. 在 Mapper.xml 文件中编写对应的 SQL 语句,并使用limit关键字来限制查询的数量,使用offset关键字来指定查询的起始位置。可以使用#{offset}和#{limit}来获取RowBounds对象中的起始位置和查询数量。\n3. 在 Java 代码中调用 Mapper 接口中定义的方法,并传入RowBounds对象作为参数。\n\n使用PageHelper插件进行分页查询的步骤如下:\n\n1. 在 pom.xml 文件中添加pagehelper-spring-boot-starter依赖。\n2. 在 application.properties 文件中配置 PageHelper 的相关属性,如pagehelper.helperDialect=mysql、pagehelper.reasonable=true等。\n3. 在 Mapper 接口的查询方法上添加@PageHelper注解,并通过pageNum和pageSize参数指定查询的页码和每页的数量。\n4. 在 Java 代码中调用 Mapper 接口中定义的方法。\n\n示例代码如下:\n\n1. 使用RowBounds进行分页查询:\n\nMapper 接口:\n\njava\npublic interface UserMapper {\n List<User> getUsers(RowBounds rowBounds);\n}\n\n\nMapper.xml:\n\nxml\n<select id="getUsers" resultType="User">\n SELECT * FROM users\n LIMIT #{offset}, #{limit}\n</select>\n\n\nJava 代码:\n\njava\nSqlSession sqlSession = sqlSessionFactory.openSession();\nUserMapper userMapper = sqlSession.getMapper(UserMapper.class);\nRowBounds rowBounds = new RowBounds(0, 10); // 查询第一页,每页 10 条数据\nList<User> users = userMapper.getUsers(rowBounds);\n\n\n2. 使用PageHelper插件进行分页查询:\n\nMapper 接口:\n\njava\npublic interface UserMapper {\n @PageHelper(pageNum = 1, pageSize = 10)\n List<User> getUsers();\n}\n\n\nJava 代码:\n\njava\nSqlSession sqlSession = sqlSessionFactory.openSession();\nUserMapper userMapper = sqlSession.getMapper(UserMapper.class);\nList<User> users = userMapper.getUsers();\n\n\n以上是使用 MyBatis 进行分页查询的简单示例,具体的使用方式可以根据实际需求进行调整。\n
原文地址: https://www.cveoy.top/t/topic/p6Lw 著作权归作者所有。请勿转载和采集!