用户与角色表查询时,如果是靠两个表的主键查询是不正确的,就好比将a的值赋给b,b的值赋给a,需要中间表来作为中间值。利用中间值联系两个表之间的主键,多个角色也能实现联查。
但是要分清主表,既用户表为主表,即使根据角色查询,也不过是将查询id改为角色表id,但查询表还是user表
根据用户id查询:
因为添加了中间表,那么inner需要多加一张表,仍然是将role属性封装加入到user中(注意:多对多那么需要返回多个role,需要使用List封装role),在resultMap中添加<collection>标签封装属性字段。
根据角色id查询:
套路还是一样,但是这次是将user封装到role表中(因为根据role_id查询)那么流程就是在role主类中添加user属性,在roleMapper接口中 添加查询的方法,然后在对应xml中写下select语句,和上面没有什么不同,仅仅需要更改的是where查询的id由user_id变成了role_id。
标签:多表,角色,查询,role,user,mybatis,封装,id From: https://www.cnblogs.com/zz999zhl/p/17668754.html