springboot 联合查询
使用@mapper 不使用xml配置(自动注入)
联合查询
检索能力太差查了一晚上没能解决
具体问题:
Employee类 属性:
@Data
@AllArgsConstructor@NoArgsConstructor
@Componentpublic class Employee {private Integer id;private String lastName;private String email;private Integer gender;//0 女 1 男private Department department;private Integer age;}
Department类
//部门表
@Data //使用lombok (为了下面的有参无参)
@AllArgsConstructor //有参
@NoArgsConstructor //无参
@Component
public class Department {private Integer id;private String departmentName;
}
EmpMapper:
@Select("select * from emp where id = #{id}") @Results({@Result(property = "department", column="department", one = @One(select = "com.example.dao.DepMapper.getDepartmentById")) }) Employee getEmpAndDeptByid(@Param("id") int id);
* @Result 的使用:* property:查询结果赋值给此实体属性(pojo实体类的名称 column是实际数据库字段 对应实例化property字段)* column:对应数据库的表字段,做为下面@One(select方法的查询参数* one:一对一的查询* @One(select = 方法全路径) :调用的方法
@Mapper
@Repository //标记为dao层
public interface EmpMapper {@Select("select * from emp where id = #{id}")@Results({@Result(property = "department", column="department",one = @One(select = "com.example.dao.DepMapper.getDepartmentById"))})Employee getEmpAndDeptByid(@Param("id") int id);}
DepMapper:
@Mapper
@Repository //标记为dao层
public interface DepMapper {@Select("select * from department")List<Department> getDepartments();@Select("select * from department where id=#{id}")Department getDepartmentById(@Param("id") int id);}
具体参考
spring boot 2使用Mybatis多表关联查询 - gdjlc - 博客园
springboot 联合查询相关推荐
- springboot+mybatis+mysql 多表联合查询
###springboot+mybatis+mysql 多表查询 这里有两张表 用户表和用户信息表user.info 两个实体类展示他们一对一的关系 通过springboot注解的方式实现多表联合查询 ...
- SpringBoot+MyBatis多表联合查询
SpringBoot+MyBatis多表联合查询 写在前面 联合查询在实际工作中用的并不多,因为很多表的数据比较大,或者说未来比较大的表,都要谨慎使用联合查询 数据准备 建表语句 create tab ...
- MyBatisPlus + Oracle 联合查询排序问题整理,2021 年最后一篇
背景 2021 年说话间就要过期了,今年干的几件事情有: 年初调研了三个任务调度框架. 4 月到 9 月参与了一个产品的开发,SpringCloud + React ,基本掌握了微服务的知识,也熟悉了 ...
- oracle主从关系表查询,Oracle 主从表联合查询解决方法
Oracle 主从表联合查询 表A id type name 1 E AA 2 F 表B id Aid name 1 2 BB 2 2 ...
- ormlite 多表联合查询
ormlite 多表联合查询 QueryBuilder shopBrandQueryBuilder = shopBrandDao.queryBuilder(); QueryBuilder shopQu ...
- iphone8p百度云认证_探秘百度数据工厂Pingo的多存储后端数据联合查询技术
作者介绍:张志宏,2013年加入百度大数据部,曾作为核心成员参与百度大数据平台的搭建.目前是百度数据工厂Pingo核心团队的技术负责人. Pingo是来自百度的离线大数据集成开发平台,使用Spark作 ...
- mysql联合查询查询语句_mysql 各种联合查询语句
简单的介绍了各种联合查询语句的用法,有inner join ,join left等多表联合查询,有需要的朋友可以参考一下. INNER JOIN(等值连接) 只返回两个表中联结字段相等的行 LEFT ...
- MySQL中的联合查询
联合查询 联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接. 联合查询由多条select语句构成,每条select语句获取的字段数相同,但与 ...
- mysql多表联查分页_sqlserver多表联合查询和多表分页查询的代码讲解
sqlserver多表联合查询和多表分页查询的代码讲解 发布时间:2020-05-14 14:42:07 来源:亿速云 阅读:700 作者:Leah 这篇文章主要为大家详细介绍了sqlserver多表 ...
- MySQL联合查询语法内联、左联、右联、全联
MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户id,用户名,密码) userid username password 1 jac ...
最新文章
- ALD技术,相机去噪,图像传感器
- [转]android的selector,背景选择器
- python类的继承-1
- idea ctrl+shift+f快捷键失效
- JAVA基础整理-100.Java 多线编程
- docker piwik
- IIS错误与解决方法
- HTML标题h,HTML H标题标签
- 初识spring-boot
- android9叫什么名字,白猜这么多名字!谷歌Android 9.0正式发布:命名Android Pie
- linux浏览器打开pdf文件,linux下的pdf浏览器(可加批注)
- openmp 第一次运行时间比较长_Android App 启动时间优化
- SAS的SQL过程(SQL Procedure in SAS)(一)
- 如何查看自己电脑安装的jdk版本
- 第三章 平稳时间序列模型
- Simulink代码生成基础体验教程
- RD Client远程控制PC
- java map存储对象_java-在ConcurrentHashMap中存储复杂对象
- 测试用例设计——微信发朋友圈(详细)
- 通过字体名获取字体文件