[sql映射]resultMap和resultType

本文详细介绍了MyBatis中的两种结果映射方式:resultType和resultMap。前者适用于简单场景,直接将查询结果映射到POJO;后者则通过association和collection处理复杂的一对一、一对多关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

resultType

   作用

      将查询结果按照sql列名pojo属性名一致映射到pojo中

   场合

      常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页面时,此时可直接使用resultType将每一条记录映射到pojo中,在前端页面遍历list(list中是pojo)即可

             

resultMap

   使用association和collection完成一对一和一对多高级映射(对结果有特殊的映射要求)     

   association

       作用

          将关联查询信息映射到一个pojo对象中

       场合

          为了方便查询关联信息可以使用association将关联订单信息映射为用户对象的pojo属性中,比如:查询订单及关联用户信息

          使用resultType无法将查询结果映射到pojo对象的pojo属性中,根据对结果集查询遍历的需要选择使用resultType还是resultMap      

   collection:

       作用:

          将关联查询信息映射到一个list集合中。

       场合:

          为了方便查询遍历关联信息可以使用collection将关联信息映射到list集合中,比如:查询用户权限范围模块及模块下的菜单,可使用collection将模块映射到模块list中,将菜单列表映射到模块对象的菜单list属性中,这样的作的目的也是方便对查询结果集进行遍历查询。

          如果使用resultType无法将查询结果映射到list集合中。


评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值