JAVA全系列 教程
3762个小节阅读:7088.5k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
查询某个管理员时,需要查询管理员对应的角色、权限,方便前端展示,需要自定义多表查询管理员对应的角色、权限方法:
编写管理员Mapper接口
xxxxxxxxxx
public interface AdminMapper extends BaseMapper<Admin> {
// 根据id查询管理员,包括角色和权限
Admin findById(Long id);
}
编写映射文件AdminMapper.xml
xxxxxxxxxx
<resultMap id="adminMapper" type="com.itbaizhan.shopping_common.pojo.Admin">
<id property="aid" column="aid"></id>
<result property="username" column="username"></result>
<collection property="roles" column="aid" ofType="com.itbaizhan.shopping_common.pojo.Role">
<id property="rid" column="rid"></id>
<result property="roleName" column="roleName"></result>
<result property="roleDesc" column="roleDesc"></result>
<collection property="permissions" column="rid" ofType="com.itbaizhan.shopping_common.pojo.Permission">
<id property="pid" column="pid"></id>
<result property="permissionName" column="permissionName"></result>
<result property="url" column="url"></result>
</collection>
</collection>
</resultMap>
<select id="findById" parameterType="long" resultMap="adminMapper">
SELECT * FROM bz_admin
LEFT JOIN bz_admin_role on bz_admin.aid = bz_admin_role.aid
LEFT JOIN bz_role on bz_admin_role.rid = bz_role.rid
LEFT JOIN bz_role_permission on bz_role.rid = bz_role_permission.rid
LEFT JOIN bz_permission on bz_role_permission.pid = bz_permission.pid
WHERE bz_admin.aid = #{aid}
</select>
编写管理员服务接口实现类
xxxxxxxxxx
@DubboService
public class AdminServiceImpl implements AdminService {
@Autowired
private AdminMapper adminMapper;
@Override
public Admin findById(Long id) {
return adminMapper.findById(id);
}
}
编写管理员控制器
xxxxxxxxxx
/**
* 后台管理员
*/
@RestController
@RequestMapping("/admin")
public class AdminController {
@DubboReference
private AdminService adminService;
/**
* 根据id查询管理员
*
* @param aid
* @return 查询到的管理员
*/
@GetMapping("/findById")
public BaseResult<Admin> findById(Long aid) {
Admin admin = adminService.findById(aid);
return BaseResult.ok(admin);
}
}
测试接口