springboot+mybatis 怎么实现用户角色关联查询

最近在学习springboot+mybatis,过程中也遇到了一些问题,比较显著的就是在mybatis中怎么在查询用户的同时得到用户的角色,话不多说直接上代码。



1.pojo类

public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    private String userid;

    private String name;

  //这里将放置用户的角色    private List<Role> roles;}

2.mapper.xml
  <resultMap id="UserRoleResultMap" type="com.wsy.springboot.pojo.User" extends="BaseResultMap"><!--    List 指定的是user类中roles的类型是List,oftype指定的是映射到List中的单个对象的类型-->    <collection property="roles" javaType="java.util.List" ofType="com.wsy.springboot.pojo.Role"><!--      column表示的sql中的最终字段名称,property表示pojo类中的名称-->        <id column="roleid" property="id"></id>        <id column="rolename" property="name"></id>        <id column="code" property="code"></id>    </collection>  </resultMap><!--完成用户和角色的关联查询-->  <select id="selectUserWithRoles" resultMap="UserRoleResultMap">    select u.id,u.name,u.userid,r.id as roleid ,r.name as rolename,r.code    from user u    inner join authority a on a.userid = u.id     inner join role r on r.id = a.roleid  </select>

3.测试结果(使用postman工具测试)

至于其他的service和controller层没有其他的问题,这里就不附上了。

原文地址:https://www.cnblogs.com/wensy/p/12342148.html

时间: 2024-11-10 04:19:14

springboot+mybatis 怎么实现用户角色关联查询的相关文章

Mybatis学习总结四(关联查询)

一.一对一查询 实例:查询所有订单信息,关联查询下单用户信息. Method1:使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息. 1 public class OrdersCustom extends Orders { 2 3 private String username;// 用户名称 4 private String address;// 用户地址 5 get/set.... Mapper.xml <!-- 查询所有订单信息 --> <select

(图解)用户表-角色表-用户角色关联表

 用户表/角色表 : 多对多关系         一个用户记录 可以 有多个角色/职位记录        一个角色/职位记录 可以 有多个用户记录    用户表 / 用户角色管理表 : 一对多关系  用户角色关联表 / 角色表: 多对一关系        一个用户记录 对应 多个关联记录, 一个关联记录 对应 一个角色记录(一个用户记录 对应 多个角色记录);        一个角色记录 对应 多个关联记录, 一个关联记录 对应 一个用户记录(一个角色记录 对应 多个 用户记录)     两个表

mybatis专题(二)-----代码生成器、关联查询、缓存

Mybatis Generator (MBG) 概念 MyBatis Generator:MyBatis 的开发团队提供了一个很强大的代码生成器,代码包含了数据库表对应的实体 类 .Mapper 接口类. Mapper XML 文件和 Example 对象等,这些代码文件中几乎包含了全部的单表操作方 法,使用 MBG 可以极大程度上方便我们使用 MyBatis,还可以减少很多重复操作: 配置 generatorConfiguration – 根节点 properties – 用于指定一个需要在配

oracle中用户角色的查询和授权

用户拥有的系统权限 select  privilege  from dba_sys_privs  where grantee='&USERNAME' union  select  privilege  from  dba_sys_privs  where  grantee  in  (select  granted_role  from  dba_role_privs  where  grantee='&USERNAME'); 创建用户 CREATE USER songgx        

MyBatis学习之一对多关联查询

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <ty

MyBatis 一对多,多对一关联查询的时候Mapper的顺序

要先写association,然后写collection:这是由DTD决定的: <resultMap ...> <association ...> </association> <collection ...> </collection > </resultMap>

Mybatis深入了解(六)----关联查询(高级映射)

一对一查询 resultType resultMap 一对多查询 resultType resultMap 多对多查询 一对一查询 resultType resultType:使用resultType实现非常简单,如果POJO中没有包括查询的列名,可以新建扩展类继承父类,并在子类中添加列名对应的属性,即可完成映射. package cn.itcast.ssm.po; /** * 订单的扩展类 * @author Administrator * */ //通过此类映射订单和用户查询的结果,让此类继

Mybatis关联查询(转载)

原文地址: http://www.cnblogs.com/xiaolang8762400/p/7399892.html mybatis 提供了高级的关联查询功能,可以很方便地将数据库获取的结果集映射到定义的Java Bean 中.下面通过一个实例,来展示一下Mybatis对于常见的一对多和多对一关系复杂映射是怎样处理的. 设计一个简单的博客系统,一个用户可以开多个博客,在博客中可以发表文章,允许发表评论,可以为文章加标签.博客系统主要有以下几张表构成: Author表:作者信息表,记录作者的信息

mybatis一对一关联查询——(八)

1.需求 查询所有订单信息,关联查询下单用户信息. 注意: 因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息出发查询用户下的订单信息则为一对多查询,因为一个用户可以下多个订单. 2.  方法一:resultType 使用resultType,定义订单信息po类,此po类中包括了订单信息和用户信息: 2.1     sql语句 确定查询的主表:订单表 确定查询的关联表:用户表 关联查询使用内链接?还是外链接? 由于orders表中有一个外键(