mybatis多对多表查询(角色与用户)

用户与角色表查询时,如果是靠两个表的主键查询是不正确的,就好比将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。

 

 

posted @   Zzzz/  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示