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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现