角色和权限菜单,多对多关系
实体类文件代码
角色
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>