第一种实现方式:

1.在实体类中添加需要展示的但在数据库表结构中字段

2.在mapper.xml的

<result column="project_name" jdbcType="VARCHAR" property="projectName" />定义需要展示的列

3.在SQL中关联查询即可

<select id="selectByMap" resultType="com.apply.ism.entity.MaterialInfo">SELECT m.id,m.title,c.company,c.hierarchy,m.score,l.file_path,t.project_name,t.contents,m.file_id FROM material_info mLEFT JOIN company c ON m.company_id=c.id AND c.data_state='Normal'LEFT JOIN t_system t ON m.evaluation_id=t.id AND m.data_state='Normal'LEFT JOIN file_message l ON l.id=m.file_id AND l.data_state='Normal'<where>m.data_state='Normal'<if test="nd != null and nd !=''">AND t.nd=#{nd}</if><if test="projectName != null and projectName !='' and projectName != 'null'">AND t.project_name=#{projectName}</if></where>
</select>

4.在mapper.java 中编写代码:

List<MaterialInfo> selectByMap(String nd,String projectName);
 

第二种实现方法:

不需要在实体类添加属性,也不需要在<result column="project_name" jdbcType="VARCHAR" property="projectName" />定义列

1.在SQL中关联查询

<select id="getSurveyInfoList" resultType="java.util.Map">SELECT s.companyid,s.yz_code,c.company,s.survey_name,s.start_time,s.end_time,s.qr_code FROM survey_info s JOIN company c ON s.companyid=c.idWHERE 1 = 1 AND s.data_state = 'Normal'<if test="param1 != null and param1 !=''">AND c.company LIKE CONCAT('%',#{param1},'%')</if><if test="param2 != null and param2 > 0">AND s.companyid=#{param2}</if>

2.在mapper.java 中编写代码:

List<Map<String, Object>> getSurveyInfoList(String dwmc, Long id);

Mybatis实现多表关联多条件查询相关推荐

  1. MyBatis实现中间表关联查询

    MyBatis实现中间表关联查询 通常构建数据多对多模型的关系时,我们需要再建立一张中间表来关联另外两张表. 下面介绍一下,怎么用MyBatis来实现中间表关联查询并封装到实体类对象中. 现在有三张表 ...

  2. Mybatis的多表关联查询(多对多)

    Mybatis的多表关联查询(多对多) 项目目录结构 实现 Role 到 User 多对多 业务要求 用户与角色的关系模型 编写角色实体类 编写 Role 持久层接口 实现的 SQL 语句 编写映射文 ...

  3. SQL中的多表关联和子查询

    多表关联: 连接查询: 1.内关联:相当于两个表中的公共部分的数据 select * from 表1 join 表2 on 表1相同的值=表2相同的值 2.外关联: 左关联:以左表为主,右表能关联上的 ...

  4. mybatis-plus在Mapper类中使用@select标签进行多表联合动态条件查询

    1.单表动态条件查询 1)单字段作为参数 直接用@param设置的值作为注入就好了 @Select("select * from ppms_person_message where crea ...

  5. mysql数据库表的多条件查询

    mysql数据库表的多条件查询 一.select语句基本查询 SELECT 字段1,字段2....FROM 表名[WHERE 条件] [LIMIT N][ OFFSET M] select可以返回多条 ...

  6. 1对多 只取一条 mysql_MySQL 多表关联一对多查询实现取最新一条数据的方法示例...

    本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法.分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据, ...

  7. MySQL——导出表,单个表单个列查询以及单个表多个条件查询

    目录 引入,导出表 单个表单个列查询 单个表多个条件查询 引入,导出表 右键表 获得表 遇到关键词的用'``'分割 单个表单个列查询 SELECT nickname,`from` from y_mem ...

  8. asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询

    本文我们将继续分享介绍Spring Boot在整合Mybatis开发企业级应用时其他典型的业务场景,即Mybatis是如何实现多表关联查询时将查询结果集与对象进行映射的,主要的内容包含"一对 ...

  9. MyBatis之两表关联查询

    1. 数据库表 学生表: 教师表: 2. 需求 要求查询所有教师的信息, 包括他的学生信息. 查询结果样式: 3. 代码 实体类 pojo包下: Student.java package com.xx ...

最新文章

  1. Linux下nginx支持.htaccess文件实现伪静态的方法!
  2. 6000毫安以上智能手机_6000大电池+骁龙8核处理器,Redmi新机来袭:价格太美
  3. 中矿大新生赛 A 求解位数和【字符串】
  4. 200kb以上图片储存
  5. linux中将文本中的单词换掉的指令_为什么说从PDF中提取文本是一件困难的事?...
  6. 最近在研究Spring Data JPA,大家都来说说感受~~ - Spring,JPA - Java - ITeye论坛
  7. 网狐动态数组CWHArray
  8. MSSQLSERVER数据库- 使用C#来操作事务[转]
  9. 行业深度见解•SD-WAN对于企业云的重要性 1
  10. 事实上,在你不知道的地方,还有一个世界杯!
  11. 哈理工OJ 1147 重生(水DP)
  12. 找到某个关键字 同义词词林 python_读一读我——无废话Python(三)条件、循环、函数、表达式
  13. java接口和抽象函数_Java接口和抽象类区别
  14. JavaEE | 集合2之Map
  15. IC 拔取器 rework station
  16. Qt 实现Unicode字符表情包显示到界面 Emoji
  17. 阿里天池大数据竞赛(一)用ODPS提取特征
  18. Docker学习(2)-Docker基础1
  19. Windows10中Edge浏览器突然出现“无法访问该页面”问题的解决方案
  20. windows 10桌面快捷方式小箭头

热门文章

  1. CCSpriteBatchNode的使用
  2. 图纸管理软件_图纸文件管理操作繁琐?巧用“权限”,管理更高效
  3. oracle12c视图刷新,12c 物化视图 - 对快速刷新的理解
  4. vla点转为lisp点_专家们说,中国股市将进入牛市,大盘可能超12000点是真吗?
  5. java 数据库字段_JAVA如何获得数据库的字段及字段类型
  6. mysql 整形转换_mysql IP地址整形转换
  7. linux c打印日志文件,linux c下log输出代码模板示例代码
  8. oracle画圆,元宵佳节:看Oracle技术粉们用SQL画团圆
  9. NVIDIA显示下载Java_大佬们!我的NVIDIA Geforce Experience 一直下载更新怎么办?
  10. 三、HDFS中的Java和Python API接口连接