mybatis association和collection标签怎么用

  1. <resultMap type="Bill" id="ResultBill">
  2. <id property="id" column="id"/>
  3. <result property="dh" column="dh"  />
  4. <result property="rq" column="rq"/>
  5. <association property="author"  javaType="Author"  >
  6. <id  property="id"  column="idAutor" />
  7. <result property="name" column="authorName" />
  8. <result property="email" column="authorEmail"/>
  9. </association>
  10. <collection property="det1"  javaType="ArrayList" ofType="BillDet1" >
  11. <id property="id" column="idDet1"/>
  12. <result property="dh" column="dhDet1"/>
  13. <result property="wlbm" column="wlbm"/>
  14. <result property="wlmc" column="wlmc"/>
  15. <result property="unit" column="unit"/>
  16. <result property="qty" column="qty"/>
  17. </collection>
  1. </resultMap>
  1. <resultMap type="com.sailod.shiro.dto.HtAuthorityMenuDTO" id="OneMenuAuthority">
  2. <id property="htAuthorityId" column="htAuthorityId" javaType="java.lang.Long" />
  3. <result property="name" column="name" javaType="java.lang.String" />
  4. <result property="currentUserId" column="currentUserId" javaType="java.lang.Long" />
  5. <collection property="htAuthorityDTO"  ofType="com.sailod.shiro.dto.HtAuthorityDTO"
  6. select="selectAuthority" column="{htAuthorityId2 = htAuthorityId ,currentUserId2 = currentUserId}"   >
  7. </collection>
  8. </resultMap>
时间: 2024-10-15 18:12:56

mybatis association和collection标签怎么用的相关文章

MyBatis从入门到精通(十二):使用collection标签实现嵌套查询

最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解使用collection标签实现嵌套查询的方法. 1. 需求升级 在上篇博客中,我们实现了需求:根据用户id查询用户信息的同时获取用户拥有的角色. 因为角色可以拥有多个权限,所以本篇博客我们升级需求为:根据用户id查询用户信息的同时获取用户拥有的角色以及角色包含的权限. 2. 实现方式 因为我们需要使用到权限表的映射,所以我们需要

MyBatis association的两种形式——MyBatis学习笔记之四

一.嵌套的resultMap 这 种方法本质上就是上篇博文介绍的方法,只是把教师实体映射从association元素中提取出来,用一个resultMap元素表示.然后 association元素再引用这个resultMap元素.修改上篇博文示例的StudentMapper.xml如下: <?xml version="1.0" encoding="utf8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org

Spring Boot Mybatis Result Maps collection already contains value for *.BaseResultMap

当你复制一个*Mapper.xml文件到项目工程中,运行报错Mybatis Result Maps collection already contains value for *.BaseResultMap时,教你两步解决. 1.删除对应的这个*Mapper.xml文件,启动下项目,让其报下错. 2.然后再复制文件上去,再次启动就OK了.

mybatis-利用association和collection实现一对一和一对多

有关于Association和Collection的探究 场景:一个父亲有多个儿子,一个儿子只有一个父亲(一对多场景) 数据库表结构: father表:fid(int unique),fname(varchar) son表:sid(int unique),sname(varchar),s_fid(int) father表中的fid是主键 son表中的s_fid是father表中fid的外键 pojo: Father类:fid(int),fname(String),slist(List<Son>

mybatis 使用resultMap实现关联数据的查询(association 和collection )

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace的名字需要跟接口的类名一致 --> <mapper namesp

MyBatis对象关联关系---- association与collection

Mybatis处理“一对多”的关系时,需要用到associasion元素.处理”多对一“用collection元素来实现(这两个元素在之前mapper文件中提到过). 本例子中,假设一名User可以有多个Orders,用associasion来实现关联关系 首先数据库表结构 CREATE TABLE `user` ( `id` int(8) NOT NULL AUTO_INCREMENT, `username` varchar(20) COLLATE utf8_bin NOT NULL, `us

14、mybatis学习——分布查询association或collection中多列值传参 以及 局部方法延迟加载问题

举例注释中说明: <collection property="students" select="com.pxxy.bean.StudentMapper.getStusByColId" column="id" fetchType="lazy"> <!-- 多列值传递时:将多列的值封装成map进行传递 column="{key1=column1,key2=column2}" key为sql语

[04] 高级映射 association和collection

之前我们提到的映射,都是简单的字段和对象属性一对一,假设对象的属性也是一个对象,即涉及到两个表的关联,此时应该如何进行映射处理? 先看两张表,author 和 book:    业务上对应关系为,一个作者能写多本书,但是一本书只有一个作者.对应的Java类如下: public class Book { private long id; private String name; private int price; private Author author; //... getter and s

谈一下思考,关于mybatis中&lt;foreach collection=&quot;list&quot;&gt;中list得来的原因 没看到官方说明

<foreach> 是在sql语句中进行多个id查询 时用到的,因为mybatis代替jdbc和hibernate, 使用 在xml文件中编写sql语句,这是一个标签文件.然后在 dao层?,用sqlSession.来调用这个写好的sql语句. 有时候我想会不会jdbc更简单一些?? 然后,在xml中写sql语句,会碰到根据条件或者模糊查询,这个时候需要接收来自dao层的 查询条件参数.此时需要在xml文件中的sql语句中接收,并且应该没有接收,只是确定有几个占位符,等到预编译之后,再在dao