Mybatis中 collection 和 association 标签 的区别 | 您所在的位置:网站首页 › series和collection的区别 › Mybatis中 collection 和 association 标签 的区别 |
和 是 MyBatis 中用于定义映射关系的标签,它们的区别如下: 目标对象类型: 用于表示集合属性,即一个属性对应多个关联对象。 用于表示关联属性,即一个属性对应一个关联对象。关联关系处理: 用于处理一对多或多对多的关联关系,其中集合属性将包含对应的关联对象的集合。 用于处理一对一或多对一的关联关系,其中关联属性将包含对应的关联对象。SQL 查询方式: 通常需要执行额外的 SQL 查询来获取关联对象的数据,通常需要使用 select 子句指定查询语句。 通常会在关联对象的查询语句中使用 join 操作,将关联对象的数据与当前对象的数据一起查询出来。映射方式: 通常在结果映射中使用嵌套的 定义,以映射关联对象的属性。 通常在结果映射中使用 标签定义,以映射关联对象的属性。总结起来, 用于表示一对多或多对多的集合属性,并需要执行额外的 SQL 查询来获取关联对象的数据,而 用于表示一对一或多对一的关联属性,并使用 join 操作将关联对象的数据与当前对象一起查询出来。 示例: 拓展: select t.pkid, t.plid, from zhxg_gqt_dekt_hdpl t left join zhxg_gqt_dekt_grxx grxx on grxx.yhid = t.xsid where t.pllx = '1' and t.hdid = #{hdid} select t.pkid, t.plid from zhxg_gqt_dekt_hdpl t left join zhxg_gqt_dekt_grxx grxx on grxx.yhid = t.xsid where nvl(t.hfplid,t.plid) = #{plid} |
CopyRight 2018-2019 实验室设备网 版权所有 |