mybatis collection 标签的使用
主要用来做主子表的联查
<resultMap type="Project" id="ProjectResult"><result property="id" column="id"/><result property="projectNo" column="project_no"/><result property="contractId" column="contract_id"/><result property="customerName" column="customer_name"/><result property="province" column="province"/><collection property="orderlist" javaType="java.util.ArrayList" ofType="com.fferp.sale.domain.File"><id column="b_id" property="id" /><result column="b_url" property="url" /><result column="b_name" property="name" /></collection></resultMap>
这是主表跟他的文件表
property="orderlist" property属性是用来标识子表的数据在主表的里的名字
如果主表跟子表列名有重复的,一定要起个别名区别一下
<select id="selectProjectList" parameterType="Project"resultMap="ProjectResult">selecta.id AS id,a.project_no,a.contract_id AS contract_id,a.customer_name AS customer_name,a.province AS province,b.id as b_id,b.url as b_url,b.name as b_namefromorder aLEFT JOIN order_file b on a.id = b.relation_id
</select>
实体类:主表
public class Project {/** ID */private String id;/** 项目号 */private String projectNo;/** 合同表ID */private String contractId;/** 客户名称 */private String customerName;/** 所属省 */private Integer province;/** 文件 */private List<SaleCommonFile> orderlist;
}
子表
public class File {private String id;/** 关联ID */private String relationId;/** 文件路径 */private String url;/** 文件名称 */private String name;
}
mybatis collection 标签的使用相关推荐
- mybatis collection标签_一对多的关系,在MyBatis中如何映射?
# 使用collection标签 需求:根据用户id查询用户信息的同时获取用户拥有的角色,一个用户可以拥有1个或多个角色. 一般情况下,不建议直接修改数据库表对应的实体类. 所以这里我们延用之前博客中 ...
- mybatis collection标签_MyBatis第二天(结果映射+动态sql+关联查询)
笑不出莱:MyBatis第一天(介绍+文件配置+Mapper动态代理)zhuanlan.zhihu.com 一.导包+配置文件+pojo类 1.jar包:mybatis的核心包和依赖包+连接数据库的 ...
- main方法 如何去掉http debug日志_在MyBatis中如何使用collection标签实现嵌套查询?...
# 需求升级 在上篇博客<一对多的关系,在MyBatis中如何映射?>中,我们实现了需求:根据用户id查询用户信息的同时获取用户拥有的角色. 因为角色可以拥有多个权限,所以本篇博客我们升级 ...
- 在Mybatis的collection标签中获取以,分隔的id字符串
2019独角兽企业重金招聘Python工程师标准>>> 有的时候我们把一个表的id以逗号(,)分隔的字符串形式放在另一个表里表示一种包含关系,当我们要查询出我们所需要的全部内容时,会 ...
- mybatis collection解析以及和association的区别
说到mybatis的collection标签,我们肯定不陌生,可以通过它解决一对多的映射问题,举个例子一个用户对应多个系统权限,通过对用户表和权限表的关联查询我们可以得到好多条记录,但是用户信息这部分 ...
- Mybatis常用标签详解
文章目录 命名空间 顶级元素 select insert, update 和 delete sql resultMap cache cache-ref 动态sql if标签 choose.when.o ...
- MyBatis 常用标签简单总结
MyBatis 常用标签简单总结 if 标签:类似于 Java 中的 if 语句 where标签:根据查询条件是否存在,来决定是否生成 where 字符串 set标签:根据查询条件是否存在,来决定是否 ...
- java基础 - Mybatis常用标签
1. 定义sql语句 1.1 select 标签 id :唯一的标识符. parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user result ...
- mybatis foreach标签拼接多字段in ,和union
mybatis for标签 手写肯定是不可能,复制又经常忘记哪里有,记录一下复制方便 (oracle数据库) 批量添加 ,修改 ,拼接(xx,xx)in , union 添加,修改: <fore ...
最新文章
- python符号求导
- uwsgi基础——最佳实践和问题
- jquery ajax 删除数据,JQuery ajax 保存数据,删除数据
- Git基础: .git 目录详解
- 码云上传代码添加标签_第一次使用Git Bash Here 将本地代码上传到码云
- 全部省市县数据库(SQL脚本)以及简单递归查询
- 一个类中可以没有main方法_一个月可以暴瘦二十斤的减肥方法
- 回溯法 —— 判断子集和问题是否存在解
- 120个常用货源网站,赶紧收藏!
- 【捕捉BUG】jupter notebook python缩进报错但又找不到错误 IndentationError: expected an indented block
- 写论文时引用作者名字
- CodeLite 16无法自动代码补全
- iOS - CAEmitterlayer粒子发射器
- 【U8+】win10/11系统注册用友U8硬加密
- kali linux桌面图标不显示,Kali Linux(Debian) 图标不显示 原因与解决方法-博客
- 温州大学c语言期末试卷,2016年温州大学物理与电子信息工程学院综合卷之C语言程序设计复试笔试最后押题五套卷...
- java基础数据类型与String类型区别
- ELK日志平台搭建(一)
- libpng error: Write Error
- word-解决复制相同的word内容,显示行间距差别大的原因