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