使用maven框架整合mybatis进行四表查询

文章目录

目录

文章目录

一 问题背景

二 实际问题

三 问题解决

四 sql与xml映射文件

五 测试


一 问题背景

数据库有用户表user、角色表role、菜单表menu、功能表funs和角色菜单关系表role_menu,

各表的字段及数据如下
用户user表

 角色表role

扫描二维码关注公众号,回复: 11527421 查看本文章

角色菜单关系表role_menu

 

菜单表menu

 

功能表funs

二 实际问题

  1. 表与表之间的关系
  2. 类与类之间的关系
  3. 四表连查 user、role、menu、funs、role_menu,通过username来进行查询用户信息、对应的角色信息、角色对应的菜单信息及菜单底下的功能。

三 问题解决

一、数据库的表之间的关系

1.一个user对应一个role 一个role 对应多个user
		user对role 是多对一关系
		role对user是一对多关系
	2.一个role对应多个menu,一个menu对应多个role
		memu和role是多对多关系
	3.一个menu对应多个fun 一个fun对应一个menu
		menue对fun 是一对多关系
		fun对menu 是多对一关系

二、pojo实体类的关系

1.user和role两个实体类的关系
		user类:因为一个user对应一个role,所以user中除了本表的字段,还应该包含role对象的引用
		role类:因为一个role对应多个user,所以role类中应该存放user的一个集合。
	2.role和menu两个实体类关系
		因为role和menu是多对多的关系,所以两个类中均应该含有对方的集合属性
	3.menu和funs俩个实体类关系
		menu:因为一个munu对应多个fun所以menu中应该含有fun的集合
		funs:因为funs对应一个menu,所以funs中含有一个menu引用

各实体类的属性及互相持有的引用如下
用户User类

package cn.wx.pojo;

public class User {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column user.id
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private String id;
    private Role role;

    public Role getRole() {
        return role;
    }

    public void setRole(Role role) {
        this.role = role;
    }

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column user.username
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private String username;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column user.password
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private String password;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column user.roleId
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private Integer roleid;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column user.iconURL
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private String iconurl;

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + '\'' +
                ", role=" + role +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", roleid=" + roleid +
                ", iconurl='" + iconurl + '\'' +
                '}';
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column user.id
     *
     * @return the value of user.id
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public String getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column user.id
     *
     * @param id the value for user.id
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column user.username
     *
     * @return the value of user.username
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public String getUsername() {
        return username;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column user.username
     *
     * @param username the value for user.username
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column user.password
     *
     * @return the value of user.password
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public String getPassword() {
        return password;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column user.password
     *
     * @param password the value for user.password
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setPassword(String password) {
        this.password = password;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column user.roleId
     *
     * @return the value of user.roleId
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public Integer getRoleid() {
        return roleid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column user.roleId
     *
     * @param roleid the value for user.roleId
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setRoleid(Integer roleid) {
        this.roleid = roleid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column user.iconURL
     *
     * @return the value of user.iconURL
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public String getIconurl() {
        return iconurl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column user.iconURL
     *
     * @param iconurl the value for user.iconURL
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setIconurl(String iconurl) {
        this.iconurl = iconurl;
    }
}

角色类role

package cn.wx.pojo;

import java.util.List;

public class Role {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column role.roleId
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private Integer roleid;
    private List<Menu> menus ;
    private List<User> users;

    public List<User> getUsers() {
        return users;
    }

    public void setUsers(List<User> users) {
        this.users = users;
    }

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

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

    @Override
    public String toString() {
        return "Role{" +
                "roleid=" + roleid +
                ", menus=" + menus +
                ", rolename='" + rolename + '\'' +
                '}';
    }

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column role.roleName
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    private String rolename;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column role.roleId
     *
     * @return the value of role.roleId
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public Integer getRoleid() {
        return roleid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column role.roleId
     *
     * @param roleid the value for role.roleId
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setRoleid(Integer roleid) {
        this.roleid = roleid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column role.roleName
     *
     * @return the value of role.roleName
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public String getRolename() {
        return rolename;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column role.roleName
     *
     * @param rolename the value for role.roleName
     *
     * @mbggenerated Fri Jul 24 17:04:28 CST 2020
     */
    public void setRolename(String rolename) {
        this.rolename = rolename;
    }
}

菜单类menu

package cn.wx.pojo;

import java.util.List;

public class Menu {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column menu.menuId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private Integer menuid;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column menu.menuName
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private String menuname;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column menu.menuURL
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private String menuurl;
    private List<Role> roles;
    private List<Funs> funss;

    public List<Funs> getFunss() {
        return funss;
    }

    public void setFunss(List<Funs> funss) {
        this.funss = funss;
    }

    public List<Role> getRoles() {
        return roles;
    }

    public void setRoles(List<Role> roles) {
        this.roles = roles;
    }

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column menu.fatherId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private Integer fatherid;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column menu.menuId
     *
     * @return the value of menu.menuId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public Integer getMenuid() {
        return menuid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column menu.menuId
     *
     * @param menuid the value for menu.menuId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setMenuid(Integer menuid) {
        this.menuid = menuid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column menu.menuName
     *
     * @return the value of menu.menuName
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public String getMenuname() {
        return menuname;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column menu.menuName
     *
     * @param menuname the value for menu.menuName
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setMenuname(String menuname) {
        this.menuname = menuname;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column menu.menuURL
     *
     * @return the value of menu.menuURL
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public String getMenuurl() {
        return menuurl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column menu.menuURL
     *
     * @param menuurl the value for menu.menuURL
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setMenuurl(String menuurl) {
        this.menuurl = menuurl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column menu.fatherId
     *
     * @return the value of menu.fatherId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public Integer getFatherid() {
        return fatherid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column menu.fatherId
     *
     * @param fatherid the value for menu.fatherId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setFatherid(Integer fatherid) {
        this.fatherid = fatherid;
    }

    @Override
    public String toString() {
        return "Menu{" +
                "menuid=" + menuid +
                ", menuname='" + menuname + '\'' +
                ", menuurl='" + menuurl + '\'' +
                ", roles=" + roles +
                ", funss=" + funss +
                ", fatherid=" + fatherid +
                '}';
    }
}

功能类funs

package cn.wx.pojo;

public class Funs {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column funs.funId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private Integer funid;
    private Menu menu;

    public Menu getMenu() {
        return menu;
    }

    public void setMenu(Menu menu) {
        this.menu = menu;
    }

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column funs.funName
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private String funname;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column funs.funURL
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private String funurl;

    @Override
    public String toString() {
        return "Funs{" +
                "funid=" + funid +
                ", funname='" + funname + '\'' +
                ", funurl='" + funurl + '\'' +
                ", menuid=" + menuid +
                '}';
    }

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column funs.menuId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    private Integer menuid;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column funs.funId
     *
     * @return the value of funs.funId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public Integer getFunid() {
        return funid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column funs.funId
     *
     * @param funid the value for funs.funId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setFunid(Integer funid) {
        this.funid = funid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column funs.funName
     *
     * @return the value of funs.funName
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public String getFunname() {
        return funname;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column funs.funName
     *
     * @param funname the value for funs.funName
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setFunname(String funname) {
        this.funname = funname;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column funs.funURL
     *
     * @return the value of funs.funURL
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public String getFunurl() {
        return funurl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column funs.funURL
     *
     * @param funurl the value for funs.funURL
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setFunurl(String funurl) {
        this.funurl = funurl;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column funs.menuId
     *
     * @return the value of funs.menuId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public Integer getMenuid() {
        return menuid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column funs.menuId
     *
     * @param menuid the value for funs.menuId
     *
     * @mbggenerated Fri Jul 24 21:02:39 CST 2020
     */
    public void setMenuid(Integer menuid) {
        this.menuid = menuid;
    }
}

四 sql与xml映射文件

<resultMap id="BaseResultMap" type="cn.wx.pojo.User" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri Jul 24 17:04:28 CST 2020.
    -->
    <id column="id" property="id" jdbcType="VARCHAR" />
    <result column="username" property="username" jdbcType="VARCHAR" />
    <result column="password" property="password" jdbcType="VARCHAR" />
    <result column="roleId" property="roleid" jdbcType="INTEGER" />
    <result column="iconURL" property="iconurl" jdbcType="VARCHAR" />
    <association property="role" javaType="cn.wx.pojo.Role" resultMap="roleMapping">
    </association>
  </resultMap>
  <!--定义role的映射-->
  <resultMap id="roleMapping" type="cn.wx.pojo.Role">
    <id column="roleId" property="roleid" jdbcType="INTEGER" />
    <result column="roleName" property="rolename" jdbcType="VARCHAR" />
    <collection property="menus" ofType="cn.wx.pojo.Menu" resultMap="menuingMapping">
    </collection>
  </resultMap>
  <!--定义menu映射-->
  <resultMap id="menuingMapping" type="cn.wx.pojo.Menu">
    <id column="menuId" property="menuid" jdbcType="INTEGER" />
    <result column="menuName" property="menuname" jdbcType="VARCHAR" />
    <result column="menuURL" property="menuurl" jdbcType="VARCHAR" />
    <result column="fatherId" property="fatherid" jdbcType="INTEGER" />
    <collection property="funss" ofType="cn.wx.pojo.Funs" resultMap="funsingMapping">
    </collection>
  </resultMap>
  <!--定义funs映射-->
  <resultMap id="funsingMapping" type="cn.wx.pojo.Funs">
    <id column="funId" property="funid" jdbcType="INTEGER" />
    <result column="funName" property="funname" jdbcType="VARCHAR" />
    <result column="funURL" property="funurl" jdbcType="VARCHAR" />
    <result column="menuId" property="menuid" jdbcType="INTEGER" />
  </resultMap>
  <sql id="Base_Column_List" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri Jul 24 17:04:28 CST 2020.
    -->
    id, username, password, roleId, iconURL
  </sql>
<!--  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >-->
<!--    &lt;!&ndash;-->
<!--      WARNING - @mbggenerated-->
<!--      This element is automatically generated by MyBatis Generator, do not modify.-->
<!--      This element was generated on Fri Jul 24 17:04:28 CST 2020.-->
<!--    &ndash;&gt;-->
<!--    select-->
<!--    u.id,u.username,u.password,u.roleId,u.iconURL,r.roleId,r.roleName-->
<!--    from user u,role r-->
<!--    where u.u.roleId=r.roleId-->
<!--    and id = #{id,jdbcType=VARCHAR}-->
<!--  </select>-->
  <select id="selectfindByName" resultMap="BaseResultMap" parameterType="java.lang.String">
    select
    u.id,u.username,u.password,u.iconURL,r.roleId,r.roleName,
    m.menuId,m.menuName,m.menuURL,m.fatherId,f.funId,f.funName,f.funURL
    from user u left join role r
    on u.roleId =r.roleId left join role_menu rm on
    r.roleId = rm.roleId left join menu m on
    rm.menuId = m.menuId left join funs f on
    m.menuId = f.menuId
    where u.username like concat('%',#{username},'%')
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri Jul 24 17:04:28 CST 2020.
    -->
    delete from user
    where id = #{id,jdbcType=VARCHAR}
  </delete>
  <insert id="insert" parameterType="cn.wx.pojo.User" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri Jul 24 17:04:28 CST 2020.
    -->
    insert into user (id, username, password, 
      roleId, iconURL)
    values (#{id,jdbcType=VARCHAR}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
      #{roleid,jdbcType=INTEGER}, #{iconurl,jdbcType=VARCHAR})
  </insert>
  <insert id="insertSelective" parameterType="cn.wx.pojo.User" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Fri Jul 24 17:04:28 CST 2020.
    -->

五 测试

import cn.wx.mapper.UserMapper;
import cn.wx.pojo.Role;
import cn.wx.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;

public class Test {
    @org.junit.Test
    public void testDemo01() throws IOException {
        String resource="mybatis-config.xml";
        InputStream is= Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);
        SqlSession session= sqlSessionFactory.openSession();
        UserMapper mapper  =session.getMapper(UserMapper.class);
        User u =mapper.selectfindByName("zhangsan");
        System.out.println(u);

    }
}

最后打印的结果是

User{id='00001', role=Role{roleid=1, menus=[Menu{menuid=1, menuname='系统菜单', menuurl='null', roles=null, funss=[Funs{funid=1, funname='主页', funurl='index.jsp', menuid=1}, Funs{funid=2, funname='头页面', funurl='header.jsp', menuid=1}, Funs{funid=3, funname='菜单页面', funurl='menu.jsp', menuid=1}, Funs{funid=4, funname='操作页面', funurl='body.jsp', menuid=1}, Funs{funid=5, funname='底页面', funurl='footer.jsp', menuid=1}, Funs{funid=6, funname='成功页面', funurl='ok.jsp', menuid=1}, Funs{funid=7, funname='错误页面', funurl='error.jsp', menuid=1}, Funs{funid=8, funname='角色错误页面', funurl='norole.jsp', menuid=1}], fatherid=-1}, Menu{menuid=2, menuname='用户管理', menuurl='null', roles=null, funss=[Funs{funid=null, funname='null', funurl='null', menuid=2}], fatherid=1}, Menu{menuid=3, menuname='添加用户', menuurl='register.jsp', roles=null, funss=[Funs{funid=50, funname='添加用户页面', funurl='register.jsp', menuid=3}, Funs{funid=51, funname='添加用户的动作', funurl='registerServlet.do', menuid=3}], fatherid=2}, Menu{menuid=4, menuname='查询用户', menuurl='body.jsp', roles=null, funss=[Funs{funid=60, funname='查询用户页面', funurl='body.jsp', menuid=4}, Funs{funid=61, funname='查询用户动作', funurl='registerServlet.do', menuid=4}, Funs{funid=62, funname='显示用户页面', funurl='body.jsp', menuid=4}, Funs{funid=63, funname='预更新用户查询动作', funurl='preUpdata.do', menuid=4}, Funs{funid=64, funname='更新用户页面', funurl='updataUser.jsp', menuid=4}, Funs{funid=65, funname='更新用户动作', funurl='updataUser.do', menuid=4}, Funs{funid=66, funname='删除用户动作', funurl='deleteUser.do', menuid=4}], fatherid=2}, Menu{menuid=5, menuname='商品管理', menuurl='null', roles=null, funss=[Funs{funid=null, funname='null', funurl='null', menuid=5}], fatherid=1}, Menu{menuid=6, menuname='添加商品', menuurl='addGoods.jsp', roles=null, funss=[Funs{funid=70, funname='添加商品页面', funurl='addProduct.jsp', menuid=6}, Funs{funid=71, funname='添加商品动作', funurl='addProduct.do', menuid=6}], fatherid=5}, Menu{menuid=7, menuname='查询商品', menuurl='findGoods.jsp', roles=null, funss=[Funs{funid=80, funname='查询商品页面', funurl='findProduct.jsp', menuid=7}, Funs{funid=81, funname='查询商品动作', funurl='findProduct.do', menuid=7}, Funs{funid=82, funname='预更新商品动作', funurl='preUpdataProduct.do', menuid=7}, Funs{funid=83, funname='显示更新商品页面', funurl='updataProduct.jsp', menuid=7}, Funs{funid=84, funname='更新商品动作', funurl='updataProduct.do', menuid=7}, Funs{funid=85, funname='删除商品动作', funurl='deleteProduct.do', menuid=7}], fatherid=5}, Menu{menuid=8, menuname='查看购物车', menuurl='null', roles=null, funss=[Funs{funid=null, funname='null', funurl='null', menuid=8}], fatherid=1}, Menu{menuid=9, menuname='购物车', menuurl='shopping.jsp', roles=null, funss=[Funs{funid=90, funname='查看购物车页面', funurl='findcar.jsp', menuid=9}], fatherid=8}], rolename='管理员'}, username='zhangsan', password='1231230', roleid=1, iconurl='null'}

猜你喜欢

转载自blog.csdn.net/qq_37244548/article/details/107571524