首先用户和角色的关系就是多对多
实体类中对应多个角色
中间表 中写角色的实体类
mapper中依次与上述对象对应
<resultMap type="sy.model.User" id="ResultMap3" extends="BaseResultMap">
<!-- user对应多个中间表记录,所以用 -->
<collection property="userRole" javaType="list" ofType="sy.model.UserRole">
<id property="id" column="userrole_id"/>
<result property="roleId" column="role_id"/>
<result property="userId" column="user_id"/>
中间表中对应role的实体类
<association property="role" javaType="sy.model.Role" >
<id property="id" column="role_id"/>
<result property="text" column="role_text"/>
</association>
</collection>
</resultMap>
<select id="getAll3" resultMap="ResultMap3">
SELECT
tuser.ID,
tuser.CREATEDATETIME,
tuser.MODIFYDATETIME,
tuser.`NAME`,
tuser.PWD,
tuser.CREATE_TIME,
tuser.UPDATE_TIME,
tuser_trole.ID userrole_id,
tuser_trole.ROLE_ID role_id,
tuser_trole.USER_ID user_id,
trole.ID role_id,
trole.TEXT role_text
FROM
tuser
JOIN tuser_trole ON tuser.ID = tuser_trole.USER_ID
JOIN trole ON tuser_trole.ROLE_ID = trole.ID
</select>
这样就是多对多了