多表查询,多对多

角色和权限菜单,多对多关系

实体类文件代码
角色

public class Role {
    private int roleid;
    private String rolename;
    private List<Menu> menus;

    public int getRoleid() {
        return roleid;
    }

    public void setRoleid(int roleid) {
        this.roleid = roleid;
    }

    public String getRolename() {
        return rolename;
    }

    public void setRolename(String rolename) {
        this.rolename = rolename;
    }

    public List<Menu> getMenus() {
        return menus;
    }

    public void setMenus(List<Menu> menus) {
        this.menus = menus;
    }
}

菜单代码

public class Menu {
    private int menuid;
    private String menuname;
    private List<Role> rols;

    public int getMenuid() {
        return menuid;
    }

    public void setMenuid(int menuid) {
        this.menuid = menuid;
    }

    public String getMenuname() {
        return menuname;
    }

    public void setMenuname(String menuname) {
        this.menuname = menuname;
    }

    public List<Role> getRols() {
        return rols;
    }

    public void setRols(List<Role> rols) {
        this.rols = rols;
    }
}

mapper.xml文件代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.dao.RoleDao">
     <select id="findbymid" resultMap="com.qiangfeng.result.m1">
            select * from menu m,role r,middle md
            where m.menuid=md.menuid and r.roleid=md.roleid
            and m.menuid=#{mid}
     </select>
    <select id="findbyrid" resultMap="com.qiangfeng.result.r1">
         select * from menu m,role r,middle md
            where m.menuid=md.menuid and r.roleid=md.roleid
            and r.roleid=#{rid}
    </select>
</mapper>

resultmapper.xml文件代码:
权限菜单:

<resultMap id="m1" type="menu">
        <id property="menuid" column="menuid"></id>
        <result property="menuname" column="menuname"></result>
        <collection property="rols" ofType="role">
            <id  property="roleid" column="roleid"></id>
            <result  property="rolename" column="rolename"></result>
        </collection>
    </resultMa

角色:

<resultMap id="r1" type="role">
        <id  property="roleid" column="roleid"></id>
        <result  property="rolename" column="rolename"></result>
        <collection property="menus" ofType="menu">
            <id property="menuid" column="menuid"></id>
            <result property="menuname" column="menuname"></result>
        </collection>
    </resultMap>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值