mybatis分页插件的使用
pom 坐标
<!--分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.0.0</version>
</dependency>
@GetMapping("/getPerAndAchList")
public List<Person> getPerAndAchList(int pageNum , int pageSize){
PageHelper.startPage(pageNum, pageSize);
List<Person> perAndAchList = userServer.getPerAndAchList();
PageInfo<Person> personPageInfo = new PageInfo<Person>(perAndAchList);
List<Person> list = personPageInfo.getList();
return list;
}
这里的分页结果是一个一对多的关系
mapper文件
<resultMap id="personMap" type="springcloudentity.springcloudentity.entity.Person">
<id column="id" property="id"></id>
<result column="name" property="name"></result>
<result column="sex" property="sex"></result>
<result column="age" property="age"></result>
<result column="classNo" property="classNo"></result>
<collection property="achievements" ofType="springcloudentity.springcloudentity.entity.Achievement">
<id column="p_id" property="pId"></id>
<result column="perId" property="perId"></result>
<result column="subjectName" property="subjectName"></result>
<result column="achievement" property="achievement"></result>
<result column="workTime" property="workTime"></result>
</collection>
</resultMap>
<select id="getPerAndAchList" resultMap="personMap">
SELECT
per.id AS id
,per.name AS name
,per.sex AS sex
,per.age AS age
,ach.subjectName AS subjectName
,ach.achievement AS achievement
,ach.workTime AS workTime
FROM t_person AS per
INNER JOIN t_achievement AS ach ON per.id = ach.perId
ORDER BY per.sex,ach.subjectName,ach.achievement
</select>