今天的主要内容是在之前的开发基础上, 给用户增加一个权限模块, 大致先划分为无权限用户, 普通用户和管理员两类, 管理员有权力给普通用户和无权限用户分配权限
下面将给出在前两天开发基础上增加的代码
数据库
ssm_users
该表无变化
ssm_role
该表存储权限的种类和描述
ssm_user_role
该表建立用户id到权限的映射
暂时只给id=1的Tom和id=2的Lily分别分配管理员和普通用户权限
XML配置
RoleMapper.xml
包含需要用到的三条sql语句
<?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.psychedelicghost.dao.RoleDao" >
<select id="findRoleIdByUserId" parameterType="int" resultType="int">
select roleid from ssm_user_role where userid=#{
userId}
</select>
<select id="findRoleByUserId" parameterType="int" resultType="role">
select * from ssm_role where id not in (select roleid from ssm_user_role where userid=#{
id})
</select>
<insert id="addRole" parameterType="userRole">
insert into ssm_user_role (userid, roleid) values (#{
userid}, #{
roleid})
</insert>
</mapper>
Model
Role.java
对应数据库ssm_role表对象
package com.psychedelicghost.bean;
public class Role {
private int id;
private String rolename;
private String roledesc;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getRolename() {
return rolename;
}
public void setRolename(String rolename) {
this.rolename = rolename;
}
public String getRoledesc() {
return roledesc;
}
public void setRoledesc(String roledesc) {
this.roledesc = roledesc;
}
@Override
public String toString() {
return "Role{" +
"id=" + id +
", rolename='" + rolename + '\'' +