MyBatis映射文件的resultMap如何做表关联

MyBatis映射文件的resultMap如何做表关联

MyBatis的核心是其映射文件,SqlMap文件,里面配置了项目中用到了什么SQL语句,和数据库相关的逻辑都在这个映射文件里.顾名思义,映射文件就是对Java对象和SQL的映射.这里简单介绍一下映射文件中resultMap的用法:resultMap – 它描述如何将结果集映射到Java对象.
resultMap属性:type为java实体类;id为此resultMap的标识:
resultMap的子元素:
id – 一般对应到数据库中该行的ID,设置此项可以提高Mybatis性能.
result – 映射到JavaBean 的某个"简单类型"属性,String,int等.
association – 映射到JavaBean 的某个"复杂类型"属性,其他JavaBean类.
collection –复杂类型集合,a collection of complex types
比如现在有一个Order表,Customer表和OrderItem表,它们之间的关系为:一个Order关联到一个Customer(单向关联),一个Order有多个OrderItem(双向关联).
一对多的写法还可以传递两个参数,以下是demo
 demo1: select="com.tynet.dept.dao.YyghYyksMapper.selectByDepts" />
在对应的dao配置文件中写上
List selectByDepts(@Param("hosId") String hosId,@Param("hisDocId") String hisDocId);


 demo2: select="com.tynet.book.dao.GhLabelMapMapper.selectGhLabelMapByDocIdLabelType" />

 List selectGhLabelMapByDocIdLabelType(@Param("ysid") Long ysid);