MyBatis基础入门《十五》ResultMap子元素(collection)

MyBatis基础入门《十五》ResultMap子元素(collection)

描述:

  见《MyBatis基础入门《十四》ResultMap子元素(association )

  

  》》collection

    >> 复杂类型集合,一对多

    >> 内部嵌套

      > 映射一个嵌套结果集到一个列表

    >> 属性

      > property : 映射数据库列的实体对象的属性

      > ofType : 完整java类名或别名(集合所包括的类型)

      > resultMap : 引用外部的resultMap

  》》 collection 子元素

    >> id

    >> result

      > property : 映射数据库列的实体对象的属性

      > column : 数据库列名 或者 别名

 

》》》 实例代码描述:

数据库表:

数据库表,仅新增了tbl_goods表,其它未动。

tbl_goods

 

实体类:

TblGoods.java

 

TblClient.java

 

接口:

 

 xml文件

 

 测试方法:

 

测试结果:

 

 xml文件改造:

仅改造了xml文件,代码其它部分均未改动。

改造之前:

 

改造之后:

 

测试结果:

 

如有问题,欢迎纠正!!!

如有转载,请标明原因:https://www.cnblogs.com/Charles-Yuan/p/9902626.html

 

转载于:https://www.cnblogs.com/Charles-Yuan/p/9902626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatisResultMap可以用于将查询结果映射到Java对象,而一个ResultMap可以对应多个Collection。 在使用MyBatis进行查询时,有时候我们需要将多个关联的对象一起查询出来并映射到Java对象。这时候,我们可以使用ResultMapcollections属性来实现。 首先,我们需要在ResultMap定义好需要映射的属性和关联对象的映射关系。然后,在需要映射的属性上使用collection元素,并通过column属性指定关联对象的外键字段,使用ofType属性指定关联对象的类型。 接下来,我们可以在SQL语句使用JOIN操作将多个表关联起来,并将查询结果映射到对应的Java对象。在配置多个Collection映射时,可以使用外键字段作为关联条件来进行关联查询,然后将关联查询的结果映射到对应的Collection属性。 例如,假设我们有两个实体类:User和Order,一个用户可以有多个订单。我们可以定义一个ResultMap,将查询结果映射到User对象,并通过collections属性将订单集合映射到User对象的orders属性。 示例代码如下: ``` <resultMap id="userResultMap" type="User"> <id property="id" column="id" /> <result property="name" column="name" /> ... <collection property="orders" ofType="Order" column="user_id"> <id property="orderId" column="order_id" /> <result property="orderName" column="order_name" /> ... </collection> </resultMap> ``` 在SQL语句,我们可以使用JOIN操作将User表和Order表关联起来,并查询出对应的用户和订单信息。最后,通过MyBatis将查询结果映射到User对象,User对象的orders属性会包含该用户的所有订单。 总结来说,MyBatisResultMap可以实现一个ResultMap对应多个Collection的功能,通过配置collection元素可以将多个关联对象的集合映射到Java对象的对应属性上。这为我们处理复杂的查询结果提供了便利。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值