广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >MyBatis-Plus实现多表联查
  • 834
分享到

MyBatis-Plus实现多表联查

mybatisjavasql 2023-09-03 17:09:11 834人浏览 独家记忆
摘要

mybatis-Plus多表联查写法 前言一、引依赖二、使用方法三、(实战)多表查询参数说明 四、(实战)多表分页查询 前言 收获大佬封装的一个jar包,可以支持MyBatis-

mybatis-Plus多表联查写法

前言

收获大佬封装的一个jar包,可以支持MyBatis-Plus多表联查,特此分享。

一、引依赖

注意: mybatis plus version >= 3.4.0

    com.GitHub.yulichang    mybatis-plus-join    1.2.4

二、使用方法

mapper继承MPJBaseMapper (必选)
service继承MPJBaseService (可选)
serviceImpl继承MPJBaseServiceImpl (可选)

三、(实战)多表查询

MPJLambdaWrapper<Map> mpjLambdaWrapper = new MPJLambdaWrapper();mpjLambdaWrapper.select(ChatRecord::getId,ChatRecord::getRedMoney)    .select(OfShopMembers::getUsablePoint)    .select(ChatMultiList::getName).leftJoin(OfShopMembers.class,OfShopMembers::getId,ChatRecord::getId).leftJoin(ChatMultiList.class,ChatMultiList::getId,ChatRecord::getMultiId).eq(ChatRecord::getMemberId,3213);List list = chatRecordMybatisJoinMapper.selectJoinList(Map.class, mpjLambdaWrapper);

对应查询语句

SELECT t.id,t.red_money,t1.username,t2.name FROM chat_record t LEFT JOIN of_shop_members t1 ON (t1.id = t.id) LEFT JOIN chat_multi_list t2 ON (t2.id = t.multi_id) WHERE (t.member_id = 3213)

参数说明

select:表示查询的指定字段,一个select只能查一个表的
2、leftJoin:
第一个参数: 参与连表的实体类class
第二个参数: 连表的ON字段,这个属性必须是第一个参数实体类的属性
第三个参数: 参与连表的ON的另一个实体类属性
3、默认主表别名是t,其他的表别名以先后调用的顺序使用t1,t2,t3…

四、(实战)多表分页查询

MPJLambdaWrapper<Map> mpjLambdaWrapper = new MPJLambdaWrapper();        mpjLambdaWrapper.select(ChatRecord::getId,ChatRecord::getRedMoney)            .select(OfShopMembers::getUsablePoint)            .select(ChatMultiList::getName)            .leftJoin(OfShopMembers.class,OfShopMembers::getId,ChatRecord::getId)            .leftJoin(ChatMultiList.class,ChatMultiList::getId,ChatRecord::getMultiId)            .eq(ChatRecord::getMemberId,3213)            .orderByDesc(ChatRecord::getAddTime);        Page page = new Page(1,2);        IPage<Map> mapiPage = chatRecordMybatisJoinMapper.selectJoinPage(page, Map.class, mpjLambdaWrapper);

对应查询语句

SELECT t.id,t.red_money,t1.usable_point,t2.name FROM chat_record t LEFT JOIN of_shop_members t1 ON (t1.id = t.id) LEFT JOIN chat_multi_list t2 ON (t2.id = t.multi_id)WHERE (t.member_id = 3213) ORDER BY t.add_time DESC LIMIT 2

来源地址:https://blog.csdn.net/xujx321/article/details/129708003

--结束END--

本文标题: MyBatis-Plus实现多表联查

本文链接: https://www.lsjlt.com/news/392533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作