Java中mybatis的分页方式有以下3种:
- 使用MySQL的Limit语句进行分页:
在Mapper接口中定义方法
public List<User> findByPage(@Param("startIndex") int startIndex,
@Param("pageSize") int pageSize);
在Mapper.xml中定义SQL:
<select id="findByPage" resultMap="userMap">
select * from user order by user_id limit #{startIndex},#{pageSize}
</select>
在业务逻辑代码中调用:
// 获取第4页,每页10条
int page = 4;
int pageSize = 10;
int startIndex = (page - 1) * pageSize;
List<User> userList = userMapper.findByPage(startIndex, pageSize);
- 使用Mybatis插件进行分页:
在pom.xml中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
在Mapper.xml中定义SQL:
<select id="findAllUser" resultMap="userMap">
select * from user
</select>
在业务逻辑代码中调用:
// 获取第4页,每页10条
PageHelper.startPage(4, 10);
List<User> userList = userMapper.findAllUser();
- 使用Mybatis注解进行分页:
在Mapper接口中定义方法
@Select("select * from user order by user_id limit #{startIndex},#{pageSize}")
public List<User> findPage(@Param("startIndex") int startIndex,
@Param("pageSize") int pageSize);
在业务逻辑代码中调用:
// 获取第4页,每页10条
int page = 4;
int pageSize = 10;
int startIndex = (page - 1) * pageSize;
List<User> userList = userMapper.findPage(startIndex, pageSize);
这就是Java中mybatis的三种分页方式,当然还有其他的方式,但这三种是最常用的。其中第一种方式是最基础的,使用简单,但对于大数据量的情况,性能比较差;第二种方式需要引入PageHelper插件,比较方便,性能好;第三种方式需要使用注解,可读性较差,使用相对较少。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中mybatis的三种分页方式 - Python技术站