首页 > 其他分享 >pageHelper 插件一对多查询分页问题

pageHelper 插件一对多查询分页问题

时间:2023-11-07 13:22:23浏览次数:34  
标签:插件 分页 atd 查询 item pageHelper ati id tuition

1.首先先确定我们需要返回的数据数据结构,这里我的贴出实体类(set/get方法自己生成)

public class BillInfoAndStudentInfoBean {
private String id;
private String billId;
private BigDecimal moneyTotal;
private List<ItemsBean> items;
}

2.然后我们在mapper.xml建立对应的关系,要实现分页正确我们需要建立两个 resultMap,一个用于子查询
注意,在主查询中的 collection里面要配置子查询sql查询id的方法名要对应,里面的 column 就是子查询你需要的查询条件,如果子查询需要多个条件column就这样写 column={id = billId,money = moneyTotal}
然后去子查询里面取值就好

主查询 resultMap
<resultMap id="BillInfoAndItemsInfo" type="com.lxd.domain.param.BillInfoAndStudentInfoBean">
<result column="id" property="id"></result>
<result column="billId" property="billId"></result>
<result column="moneyTotal" property="moneyTotal"></result>
<collection property="items" javaType="java.util.List" ofType="com.lxd.domain.param.ItemsBean" select="queryItemInfoById" column="billId">
</collection>
</resultMap>
子查询 resultMap
<resultMap id="ItemBeans" type="com.lxd.domain.param.ItemsBean">
<result column="item_name" property="item_name"></result>
<result column="item_price" property="item_price"></result>
<result column="is_sure" property="item_mandatory"></result>
</resultMap>

3.接下来可以开始写sql了

,注意这里的 方法名要和主查询 resultMap collection 里面 select 的方法名对应起来,这里传入的参数就是, collection 里面的 column

<单个参数>

<select id="queryItemInfoById" resultMap="ItemBeans">
SELECT ati.item_name,ati.item_price,ati.is_sure, atd.id FROM app_tuition_data atd
left JOIN app_tuition_item ati on atd.id=ati.tuition_id WHERE atd.id = #{billId}
</select>

<多个参数>

<select id="queryItemInfoById" resultMap="ItemBeans">
SELECT ati.item_name,ati.item_price,ati.is_sure, atd.id FROM app_tuition_data atd
left JOIN app_tuition_item ati on atd.id=ati.tuition_id WHERE atd.id = #{id} and #{money}
</select>

 

service 层和Mapper层和原来没有区别。该方法主要思路:先对主查询通过pagehelper插件做分页查询, 然后再做子查询。

 

标签:插件,分页,atd,查询,item,pageHelper,ati,id,tuition
From: https://www.cnblogs.com/andy1234/p/17814776.html

相关文章

  • django的paginator都是假分页,数据量大很卡
    paginator使用defget(self,request,*args,**kwargs):rs_data={'count':0,'items':[]}page=int(self.request.GET.get('page',1))page_size=int(self.request......
  • Eclipse安装Perl插件
    Eclipse安装PerlEPIC插件,在Eclipse中开发Perl项目前提:已经安装了Eclipse,Java,Perl(例如ActivePerl)。步骤:启动Eclipse,Eclipse中,选择Help选择SoftwareUpdates...菜单项,或者,选择InstallNewSoftware...输入网址 http://e-p-i-c.sf.net/updates/testing .搜索(点击Add......
  • 分页:pagination.py
    '''一、在视图函数中: defpretty_list(request): #0.搜索数据 data_dict={} search_data=request.GET.get('q','') ifsearch_data: data_dict['mobile__contains']=search_data #1.根据情况筛选数据 queryset=models.......
  • 腾讯云音视频插件使用文档
    获取服务所需信息腾讯云新用户有实时音视频提供包月套餐体验和免费时长包免费试用TRTC功能首先注册并实名认证后,先领取七天免费体验和免费时长包。领取链接:https://cloud.tencent.com/document/product/647/44360七天免费体验结束后,如果再想使用腾讯云音视频功能需购买领取成功后......
  • IDEA插件分享,支持接口调试!
    平时我们在写完接口需要填入postman、Apipost等工具进行接口调试,今天给大家推荐一款IDEA插件Apipost-helper,写完代码直接可以进行调试,而且支持生成接口文档,JAVA工程师必用!可以点击下方链接或在插件商店中搜索安装如下图:https://plugins.jetbrains.com/plugin/22676-apipost-helper-......
  • IDEA插件分享,支持接口调试!
    平时我们在写完接口需要填入postman、Apipost等工具进行接口调试,今天给大家推荐一款IDEA插件Apipost-helper,写完代码直接可以进行调试,而且支持生成接口文档,JAVA工程师必用!可以点击下方链接或在插件商店中搜索安装如下图:https://plugins.jetbrains.com/plugin/22676-apipost-help......
  • uni app 的ui插件uview里自带的一些正则表达式
    uniapp的ui插件uview里自带的一些正则表达式取自"uni_modules\uview-ui\libs\function\test.js"  /***验证电子邮箱格式*/functionemail(value){return/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)}/***......
  • Burp Suite插件开发 更新UI组件
    Issuenote操作SwingGUI组件时,遇到一个问题,比如在前端设置了一个表格,表格里面的数据是后台动态生成的,发现却更新不了。我尝试猜测问题的原因:我把表格嵌套在一个面板B,面板B又嵌套在面板A,所以需要刷新面板A才行,也不全对;线程问题,需要在一个特定的UI子线程才能更新,也不全对;后......
  • tinymce的imgtools插件的使用
    使用TinyMCE的imgtools插件可以实现在编辑器中旋转和翻转图片,以及编辑图片等操作。具体使用方法如下:安装TinyMCE和imgtools插件。可以通过npm安装TinyMCE和imgtools插件,然后在编辑器中引入相关依赖。配置工具条按钮。通过添加工具条按钮,可以实现在编辑器中旋转和翻转图片,以及编辑图......
  • tinymce的imgtools插件的使用
    使用TinyMCE的imgtools插件可以实现在编辑器中旋转和翻转图片,以及编辑图片等操作。具体使用方法如下:安装TinyMCE和imgtools插件。可以通过npm安装TinyMCE和imgtools插件,然后在编辑器中引入相关依赖。配置工具条按钮。通过添加工具条按钮,可以实现在编辑器中旋转和翻转图片,以及编辑图......