Mybatis实现多表关联多条件查询
第一种实现方式:
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实现多表关联多条件查询相关推荐
- MyBatis实现中间表关联查询
MyBatis实现中间表关联查询 通常构建数据多对多模型的关系时,我们需要再建立一张中间表来关联另外两张表. 下面介绍一下,怎么用MyBatis来实现中间表关联查询并封装到实体类对象中. 现在有三张表 ...
- Mybatis的多表关联查询(多对多)
Mybatis的多表关联查询(多对多) 项目目录结构 实现 Role 到 User 多对多 业务要求 用户与角色的关系模型 编写角色实体类 编写 Role 持久层接口 实现的 SQL 语句 编写映射文 ...
- SQL中的多表关联和子查询
多表关联: 连接查询: 1.内关联:相当于两个表中的公共部分的数据 select * from 表1 join 表2 on 表1相同的值=表2相同的值 2.外关联: 左关联:以左表为主,右表能关联上的 ...
- mybatis-plus在Mapper类中使用@select标签进行多表联合动态条件查询
1.单表动态条件查询 1)单字段作为参数 直接用@param设置的值作为注入就好了 @Select("select * from ppms_person_message where crea ...
- mysql数据库表的多条件查询
mysql数据库表的多条件查询 一.select语句基本查询 SELECT 字段1,字段2....FROM 表名[WHERE 条件] [LIMIT N][ OFFSET M] select可以返回多条 ...
- 1对多 只取一条 mysql_MySQL 多表关联一对多查询实现取最新一条数据的方法示例...
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法.分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据, ...
- MySQL——导出表,单个表单个列查询以及单个表多个条件查询
目录 引入,导出表 单个表单个列查询 单个表多个条件查询 引入,导出表 右键表 获得表 遇到关键词的用'``'分割 单个表单个列查询 SELECT nickname,`from` from y_mem ...
- asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
本文我们将继续分享介绍Spring Boot在整合Mybatis开发企业级应用时其他典型的业务场景,即Mybatis是如何实现多表关联查询时将查询结果集与对象进行映射的,主要的内容包含"一对 ...
- MyBatis之两表关联查询
1. 数据库表 学生表: 教师表: 2. 需求 要求查询所有教师的信息, 包括他的学生信息. 查询结果样式: 3. 代码 实体类 pojo包下: Student.java package com.xx ...
最新文章
- Linux下nginx支持.htaccess文件实现伪静态的方法!
- 6000毫安以上智能手机_6000大电池+骁龙8核处理器,Redmi新机来袭:价格太美
- 中矿大新生赛 A 求解位数和【字符串】
- 200kb以上图片储存
- linux中将文本中的单词换掉的指令_为什么说从PDF中提取文本是一件困难的事?...
- 最近在研究Spring Data JPA,大家都来说说感受~~ - Spring,JPA - Java - ITeye论坛
- 网狐动态数组CWHArray
- MSSQLSERVER数据库- 使用C#来操作事务[转]
- 行业深度见解•SD-WAN对于企业云的重要性 1
- 事实上,在你不知道的地方,还有一个世界杯!
- 哈理工OJ 1147 重生(水DP)
- 找到某个关键字 同义词词林 python_读一读我——无废话Python(三)条件、循环、函数、表达式
- java接口和抽象函数_Java接口和抽象类区别
- JavaEE | 集合2之Map
- IC 拔取器 rework station
- Qt 实现Unicode字符表情包显示到界面 Emoji
- 阿里天池大数据竞赛(一)用ODPS提取特征
- Docker学习(2)-Docker基础1
- Windows10中Edge浏览器突然出现“无法访问该页面”问题的解决方案
- windows 10桌面快捷方式小箭头
热门文章
- CCSpriteBatchNode的使用
- 图纸管理软件_图纸文件管理操作繁琐?巧用“权限”,管理更高效
- oracle12c视图刷新,12c 物化视图 - 对快速刷新的理解
- vla点转为lisp点_专家们说,中国股市将进入牛市,大盘可能超12000点是真吗?
- java 数据库字段_JAVA如何获得数据库的字段及字段类型
- mysql 整形转换_mysql IP地址整形转换
- linux c打印日志文件,linux c下log输出代码模板示例代码
- oracle画圆,元宵佳节:看Oracle技术粉们用SQL画团圆
- NVIDIA显示下载Java_大佬们!我的NVIDIA Geforce Experience 一直下载更新怎么办?
- 三、HDFS中的Java和Python API接口连接