mybatis表的关系是一对多或者多对一时resultMap的定义方式

数据查询时总会遇到表之间的关联关系,此时可能有的人会想到分两次查询不是也能达到查询一对多或者多对一对效果?

方法多种多样,考虑查询效率或者代码量来说,使用resultMap实现一对多或者多对一更具优势,

先分析一波:

比如:一个查验主表和查验明细表,主表和明细表是一对多或者从对方来看是多对一,

一对多时使用<resultMap>标签中的<collection>

一对一时使用<resultMap>标签中的<association>,这里不做描述

实体类中,一对多时使用关联属性是list<另一个实体>

比如:

mybatis表的关系是一对多或者多对一时resultMap的定义方式

mapper中

mybatis表的关系是一对多或者多对一时resultMap的定义方式  

但是在mapper中是有注意事项的:

当两张表的主键一致时会查询出一条数据:

      更改方式有两种:1.更改一张表的主键字段,使其区分开

                                    2.使用别名 column="别名"也能实现

一张表有主键,另一张表没有主键,就只需要collection中的对应关系从id改成<result>,即可

mapper中完整写法

mybatis表的关系是一对多或者多对一时resultMap的定义方式