Mapper.xml中association和collection的区别:
- association 一对一或多对一
- collection 一对多
Mapper.xml文件中association的使用举例:
<resultMap type="Blog" id="BlogResult">
<result property="id" column="id"/>
<result property="title" column="title"/>
<result property="summary" column="summary"/>
<result property="releaseDate" column="releaseDate"/>
<result property="clickHit" column="clickHit"/>
<result property="replyHit" column="replyHit"/>
<result property="content" column="content"/>
<result property="keyWord" column="keyWord"/>
<!-- 一对一 -->
<association property="blogType" column="typeId" select="com.blog.dao.BlogTypeDao.selectBlogTypeById"/>
</resultMap>
Mapper.xml文件中collection的两种使用举例:
直接指定该集合中元素的映射
<resultMap type="User" id="userMap"> <id property="id" column="uid"/> <result property="username" column="username"/> <result property="password" column="password"/> <!-- 一对多 --> <collection property="roles" ofType="Role"> <id property="id" column="rid"/> <result property="name" column="rname"/> <!-- 一对多 --> <collection property="permissions" ofType="Permissions"> <id property="id" column="pid"/> <result property="name" column="pname"/> </collection> </collection> </resultMap>引用别的Mapper.xml的查询方法
<resultMap id="BaseResultMap" type="SysUser" > <id column="user_id" property="id" jdbcType="BIGINT" /> <result column="username" property="username" jdbcType="VARCHAR" /> <result column="password" property="password" jdbcType="VARCHAR" /> <collection property="sysRoles" column="user_id" select="com.space.sbsecurity.mapper.sys.SysRoleMapper.selectRoleListByUserId"> </collection> </resultMap>
版权声明:本文为chenafa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。