项目地址

https://gitee.com/hanscoding/mybatis-plus-helper

引入依赖

     <dependency><groupId>io.github.githgf</groupId><artifactId>mybatis-plus-helper</artifactId><version>0.0.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency>

代码示例

 /*** 联查多条记录测试*/public List<Student> joinListTest() {// 主表wrapperJoinLambdaQueryWrapper<Student> studentWrapper = joinQueryWrapperForTable();// 副表wrapperJoinLambdaQueryWrapper<ScoreInfo> scoreWrapper = studentWrapper.innerJoin(ScoreInfo.class, Student::getNo, ScoreInfo::getStuNo);// 查询指定字段
//        studentWrapper.select(Student::getNo);
//        scoreWrapper.select(ScoreInfo::getScore, ScoreInfo::getStuScore);// 查询条件studentWrapper.in(Student::getId, Arrays.asList(2, 13));// 排序scoreWrapper.orderByDesc(ScoreInfo::getScore);return baseMapper.selectJoinList(studentWrapper);}/*** 联查单条测试*/public Student joinOneTest() {// 主表wrapperJoinLambdaQueryWrapper<Student> studentWrapper = joinQueryWrapperForTable();// 副表wrapperJoinLambdaQueryWrapper<ScoreInfo> scoreWrapper = studentWrapper.innerJoin(ScoreInfo.class, Student::getNo, ScoreInfo::getStuNo);// 查询指定字段
//        studentWrapper.select(Student::getNo);
//        scoreWrapper.select(ScoreInfo::getScore, ScoreInfo::getStuScore);// 查询条件studentWrapper.eq(Student::getId, 2);// 排序
//        studentWrapper.orderByAsc(Student::getSex);return baseMapper.selectJoinOne(studentWrapper);}

Mybatis-plus 多表联查实现(非手写sql)相关推荐

  1. 用了MybatisPlus后,我很久没有手写sql了

    (一)前言 最早写JDBC的时候,要手动配连接信息,要一条条手写sql语句.后来Mybatis出现了,不需要再手动配置连接信息,sql语句也和代码隔离开来,但是还免不了写Sql.接着出现了Mybati ...

  2. 精读《手写 SQL 编译器 - 回溯》

    摘要: 1 引言 上回 精读<手写 SQL 编译器 - 语法分析> 说到了如何利用 Js 函数实现语法分析时,留下了一个回溯问题,也就是存档.读档问题. 我们把语法分析树当作一个迷宫,有直 ...

  3. 手写sql语句面试题

    手写sql语句面试题 一.数据表 二.简单查询 1.查询姓名中带"猴"的学生名单 三.汇总分析 1.查询选了课程的学生人数 2.查询各科成绩最高和最低的分, 以如下的形式显示:课程 ...

  4. 精读《手写 SQL 编译器 - 错误提示》

    1 引言 编译器除了生成语法树之外,还要在输入出现错误时给出恰当的提示. 比如当用户输入 select (name,这是个未完成的 SQL 语句,我们的目标是提示出这个语句未完成,并给出后续的建议: ...

  5. 精读《手写 SQL 编译器 - 文法介绍》

    1 引言 文法用来描述语言的语法规则,所以不仅可以用在编程语言上,也可用在汉语.英语上. 2 精读 我们将一块语法规则称为 产生式,使用 "Left → Right" 表示任意产生 ...

  6. 精读《手写 SQL 编译器 - 性能优化之缓存》

    1 引言 重回 "手写 SQL 编辑器" 系列.这次介绍如何利用缓存优化编译器执行性能. 可以利用 Frist 集 与 Match 节点缓存 这两种方式优化. 本文会用到一些图做解 ...

  7. 71.精读《手写 SQL 编译器 - 错误提示》

    1 引言 编译器除了生成语法树之外,还要在输入出现错误时给出恰当的提示. 比如当用户输入 select (name,这是个未完成的 SQL 语句,我们的目标是提示出这个语句未完成,并给出后续的建议:  ...

  8. jpi多表联查_使用mybatis进行多表联查

    一.使用mybatis的基本步骤 1.导入jar包 2.配置文件 3.使用配置文件完成操作 二.实战演习 需求:教师表里有教师id和教师姓名 学生表里有学生id,姓名,年龄,教师id 一个教师有多个学 ...

  9. 使用mybatis进行四表联查

    文章目录 一.问题背景 二.实际问题 三.问题解决 四.sql语句与XML映射文件 五.测试 一.问题背景 先数据库有用户表user.角色表role.菜单表menu.功能表funs和角色菜单关系表ro ...

  10. MyBatis Plus多表联查方法

    MyBatis Plus是一款针对MyBatis框架的增强工具, 它提供了很多方便的方法来实现多表联查. 你可以使用MyBatis Plus的selectPage方法来实现多表联查, 该方法接收一个Q ...

最新文章

  1. 【ACM】杭电OJ 2037
  2. 2015结束,2016开始
  3. python编辑公式_分分钟甩Word几条街,Python编辑公式竟可以如此简单
  4. 用installshield打包的asp.net程序
  5. ArcGIS中国工具(ArcGISCTools)3.2 安装教程(附安装包下载)
  6. hdu 5691 Sitting in Line
  7. spring @value
  8. linux网站权限一直自动关闭,奇妙伞-解决SELinux对网站目录权限控制的不当的问题--网上摘抄集合,记录使用...
  9. 穿透还原12.1新变种病毒样本
  10. java装箱与拆箱_【转】java 自动装箱与拆箱
  11. ScrewTurn Wiki 初识
  12. 字符集本地化(locale)与输入法系列讲座-----(1) UTF-8 and Unicode FAQ
  13. 三星真机云测平台可能是最好的云测平台,因为他免费。
  14. flask 应用程序的工厂函数
  15. 拍拍抢拍精灵v2.1秒杀器所有源代码【开源】
  16. HTML5 音频文件
  17. Chrome漏洞分析与利用(三)——Issue-1062091漏洞分析
  18. android简历!写给即将正在找工作的Android攻城狮,已拿offer
  19. 解决百度网盘限速问题
  20. dmp标签_[重磅推荐]你必须知道的京准通DMP知识!

热门文章

  1. 网格搜索、随机搜索和贝叶斯调参总结与python代码实践
  2. 在html中frame标签的作用,HTML框架标签frameset、frame、iframe、noframes
  3. 翻译:生产中的机器学习:为什么你应该关心数据和概念漂移
  4. 算法:Three sum求三个数之和
  5. linux yum jemalloc,Redis安装报错error:jemalloc/jemalloc.h:No such file or directory解决方法
  6. Kaggle酒推荐,winemag-data-130k-v2.csv
  7. 190.颠倒二进制位
  8. 统计每个月兔子的总数
  9. main函数执行前后发生了什么
  10. N!阶层末尾有多少0