首页 > 其他分享 >Mybatis association与collection的区别

Mybatis association与collection的区别

时间:2024-07-12 19:08:11浏览次数:9  
标签:10 13 12 15 collection Mybatis association

mybatis association与collection的区别:

一、一对一

  association通常用来映射一对一的关系

 1  <resultMap type="cn.itcast.mybatis.po.Orders" id="OrdersUserResultMap">
 2 
 3         <!-- 配置映射的订单信息 -->
 4         <id column="id" property="id" />
 5         <result column="user_id" property="userId" />
 6         <result column="number" property="number" />
 7         <result column="createtime" property="createTime" />
 8         <result column="note" property="note" />
 9         <!-- 配置关联的用户信息 -->
10 
11         <association property="user" javaType="cn.itcast.mybatis.po.User">
12             <id column="user_id" property="id" />
13             <result column="username" property="username" />
14             <result column="sex" property="sex" />
15             <result column="address" property="address" />
16         </association>
17 
18     </resultMap>
二、一对多,
collection
 1 <resultMap type="cn.itcast.mybatis.po.Orders" id="OrdersAndOrdersDetail" extends="OrdersUserResultMap">
 2         <!-- 配置订单详细信息 一个订单关联查出了多条明细,要使用collection进行映射 collection:对关联查到的多条记录映射到集合对象中 
 3             property:将关联查询到多条记录映射到对象的某个属性中 ofType 指定映射集合属性的的pojo对象的类型 -->
 4         <collection property="orderdetails" ofType="cn.itcast.mybatis.po.Orderdetail">
 5              <!-- id:订单明细唯 一标识
 6              property:要将订单明细的唯 一标识 映射到cn.itcast.mybatis.po.Orderdetail的哪个属性
 7                -->
 8              <id column="orderdetail_id" property="id"/>
 9              <result column="items_id" property="itemsId"/>
10              <result column="items_num" property="itemsNum"/>
11              <result column="orders_id" property="ordersId"/>
12         
13         </collection>
14 
15     </resultMap>

标签:10,13,12,15,collection,Mybatis,association
From: https://www.cnblogs.com/joe-tang/p/7284699.html

相关文章

  • mybatis动态Sql(where)和sql片段
    sql片段的定义;1<sqlid="condition">2<iftest="entity.dicttype!=null">and`dicttype`=#{entity.dicttype}</if>3<iftest="entity.dictname!=nullandentity.dictname!=''......
  • 【Springboot】玩转复杂单元测试启动类-只测试数据访问层(JPA+Mybatis) 和服务层 以及
    上一篇文章写了一个最复杂的SpringBootTest启动类,定制化程序奇高,然而有时候仅测试JPA是不够的。启动类需求:测试SpringDataJPA测试Mybatis从容器中获得ObjectMapper测试单独的Service使用TestNG或者使用Junit阻止Dubbo、Kafka、ElasticSearch等中间件启动使用appl......
  • Mybatis-Plus最优化持久层开发
    Mybatis-plus:最优化持久层开发一:Mybatis-plus快速入门:1.1:简介:Mybatis-plus(简称MP)是一个Mybatis的增强工具,在mybatis的基础上只做增强不做改变;提高效率;自动生成单表的CRUD功能;提供了丰富的条件拼接方式;全自动ORM类型持久层框架;(不仅提供数据库操作的方法,还会提供sql语句......
  • mybatis中的标签
    在MyBatis中,除了基本的SQL映射功能外,还有许多用于动态SQL构建的标签。这些标签允许我们根据不同的条件和需求构建复杂的SQL语句。主要的动态SQL标签包括<if>,<choose>,<when>,<otherwise>,<trim>,<set>,<foreach>,以及<bind>等。下面详细介绍这些标签的用途和用法。......
  • MyBatis Generator代码生成器
    1、MyBatisGenerator代码生成1、概述MyBatisGenerator作为一个基于MyBatis的独立工具,它可以通过简单的配置去帮我们生成数据表所对应的PO、DAO、XML等文件,减去我们手动去生成这些文件的时间,有效提高开发效率2、环境集成使用idea打开项目:mybatis-gen然后修改代码生......
  • 流式查询1. mybatis的游标Cursor,分页大数据查询
    流式查询流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用可以通过迭代器每次取一条查询结果。流式查询的好处是能够降低内存使用。例如我们想要从数据库取1000万条记录而又没有足够的内存时,就不得不分页查询。而分页查询就需要我们按照顺序查询并设置一个参......
  • MyBatis拦截器在实际项目中的应用
    MyBatis 是一个流行的Java持久层框架,它简化了数据库访问的复杂性,为开发者提供了强大的功能。其中,MyBatis拦截器是一个非常有用的特性,可以帮助开发者灵活地解决各种问题。一、MyBatis拦截器1.1从执行SQL语句的核心流程说起在MyBatis中,要执行一条SQL语句,会涉及......
  • MyBatis Plus - 简介及入门实例
    简介及入门实例前言最开始,要在Java中使用数据库时,需要使用JDBC,创建Connection、ResultSet等,然后我们又对JDBC的操作进行了封装,创建了许多类似于DBUtil等工具类。再慢慢的,出现了一系列持久层的框架:Hibernate、JPA,Mybatis等。各个框架的特点如下:Hibernate:一个全......
  • MyBatis - 注解开发
    注解开发1.MyBatis注解之前的实例中,利用MyBatis进行开发时,一旦添加新的方法,则每次都需要在XML配置文件中进行映射。而现在随着注解开发的大肆流行,MyBatis3也提供了基于注解的配置。但是通过注解的方式表达力和灵活性有限,必要时要是需要通过mapper配置文件来进行......
  • MyBatis - 一二级缓存
    一二级缓存1.前言1.1什么是缓存缓存是存在内存中的临时数据,通过将我们经常查询但不常变的数据放在内存中,当我们查询数据时就不在需要从磁盘读取,而只需要从缓存中查询即可,大大提升了查询的效率,解决了高并发系统的性能问题。1.2为什么需要缓存既然我们可以直接从数......