pagehelper 一对多分页的数据查询

<resultMap type="OrderIssueInfo" id="OrderIssueInfoResult">
    <result property="rid"    column="rid"    />
    <result property="orderId"    column="orderId"    />
    <result property="IssueBillID"    column="IssueBillID"    />
    <collection property="passengers" javaType="java.util.List" ofType="OrderIssuePassengerResult" select="selectOrderIssuePassengerById" column="issueBillID"/>
</resultMap>


<resultMap type="OrderIssuePassenger" id="OrderIssuePassengerResult">
	<result property="rid"    column="prid"    />
    <result property="issueBillID"    column="pissueBillID"    />
    <result property="passengerName"    column="passengerName"    />
</resultMap>

<select id="selectOrderIssueInfoList" parameterType="OrderIssueInfo" resultMap="OrderIssueInfoResult">
	select
		p.rid,p.IssueBillID, p.orderId
	from order_issue_info p
</select>

<select id="selectOrderIssuePassengerById" resultMap="OrderIssuePassengerResult">
	select 
		rid as prid, issueBillID as pissueBillID, passengerName  
	from order_issue_passenger
	where issueBillID = #{issueBillID}
</select>

在实现关系的分查询中,PageHelper是一个非常便捷的工具。下面是一个示例代码,演示如何使用PageHelper进行关系的分查询: ```java // 导入PageHelper类 import com.github.pagehelper.PageHelper; // 设置分参数 int pageNum = 1; // 当前数 int pageSize = 10; // 每显示的条数 // 开始分 PageHelper.startPage(pageNum, pageSize); // 执行关系的查询操作,比如查询某个用户的角色列表 List<Role> roleList = roleMapper.selectByUserId(userId); // 将查询结果封装到PageInfo对象中 PageInfo<Role> pageInfo = new PageInfo<>(roleList); // 获取分后的数据 List<Role> pagedRoleList = pageInfo.getList(); // 输出分结果 for (Role role : pagedRoleList) { System.out.println(role.getName()); } // 输出分信息 System.out.println("当前数: " + pageInfo.getPageNum()); System.out.println("总数: " + pageInfo.getPages()); System.out.println("总记录数: " + pageInfo.getTotal()); ``` 在上述示例中,我们首先导入了PageHelper类,然后设置了pageNum和pageSize两个分参数。接着使用PageHelper.startPage方法开始分,并执行关系的查询操作,将查询结果封装到PageInfo对象中。最后,我们可以通过PageInfo对象获取分后的数据,并输出分信息。 需要注意的是,上述示例中的`roleMapper`是自定义的角色数据访问对象,你需要根据具体的业务需求替换为你自己的数据访问对象。 希望以上信息能对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值