Mybatis—单表数据装配—ResultMap的联合查询

xiaoxiao2021-02-28  23

1.ResultMap进行单表数据装配 :

    问题:字段名和实体类的属性名不一致,数据无法自动填充   解决:使用ResultMap进行手动声明填充     使用:      在select标签上使用ResultMap属性引入外部声明的ResultMap     在声明ResultMap中:                                         <resultMap type="实体类的全限定路径" id="mymap">     <!--指定主键填充使用id标签  -->     <id property="主键属性名" column="主键列名"/>      <!--普通字段值使用result标签指定  -->     <result property="普通属性名" column="普通字段名"/>     ……    </resultMap> 

                       property是实体类的属性名,column是数据库表的字段名,列名 

 2.ResultMap的N+1方式

   1.单个对象的ResultMapN+1查询(业务装配) (在多方实体中声明一方实体对象的属性Teacher)

   在ResultMap标签中使用association标签进行引用类型属性数据的查询和填充

                         

    2.集合对象的ResultMapN+1查询(业务装配) (集合List,在一方实体中定义)

     在ResultMap标签中使用collection标签进行集合类型属性的数据查询和填充

                              

  ------------------------   注意:

   在使用ResultMap进行N+1查询的时候,用来进行联动查询的列必须显示的指明数据的填充。

3.ResultMap的联合查询方式:     1.单个对象的ResultMap联合查询:     sql语句使用 外连接进行查询

  使用association标签进行指明数据填充

                  

   2.集合对象的ResultMap联合查询:    sql语句使用 外连接进行查询

   使用collection标签进行指明数据填充

4.AutoMapping自动注入方式联合查询

   在联合查询语句中使用别名别名格式为: "对象属性名.属性名"

木子璇总结时刻:欢迎小伙伴们提出建议哦,如有错误,望大神指出哦,谢谢啦。

转载请注明原文地址: https://www.6miu.com/read-2800163.html

最新回复(0)