继续完善之前的小项目

加入了role实体类和两张表来描述用户的具体身份

package com.bean;

public class Role {
    private int id;
    private String username;
    private String roledesc;

    @Override
    public String toString() {
        return "Role{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", roledesc='" + roledesc + '\'' +
                '}';
    }

    public String getUsername() {
        return username;
    }

    public Role(int id, String username, String roledesc) {
        this.id = id;
        this.username = username;
        this.roledesc = roledesc;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getRoledesc() {
        return roledesc;
    }

    public void setRoledesc(String roledesc) {
        this.roledesc = roledesc;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }


}

数据库语句

<?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="findRoleIdByUserId" parameterType="int" resultType="int">
        select roleId from user_role where userId=#{userId}
    </select>
    <select id="findRoleByUserId" parameterType="int" resultType="role">
        SELECT * FROM role WHERE id NOT IN (SELECT roleId FROM user_role WHERE userId=#{id})
    </select>
</mapper>

package com.service.impl;

import com.bean.Role;
import com.dao.RoleDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.service.IRoleService;

import java.util.List;
@Service
public class RoleService implements IRoleService {
    @Autowired
    private RoleDao roleDao;
    @Override
    public List<Integer> finRoleId(int userId) {
        return roleDao.findRoleIdByUserId(userId);
    }

    @Override
    public List<Role> finRoleByUserId(int id) {
        return roleDao.findRoleByUserId(id);
    }

    @Override
    @Override
    public void addRoles(int id) {
        roleDao.addRoles(id);
    }
}

    @RequestMapping("toAddRole.do")
    public ModelAndView toAddRole(int id){
        List<Role> roleList=roleService.finRoleByUserId(id);
        ModelAndView modelAndView=new ModelAndView();
        modelAndView.addObject("roles",roleList);
        modelAndView.setViewName("user-role-add");
        return modelAndView;
    }
      @RequestMapping("addRoles.do")
    public String addRoles(int id){
        roleService.addRoles(id);
        return "redirect:findAllUser.do";
    }
function setSidebarActive(tagUri) {
			var liObj = $("#" + tagUri);
			if (liObj.length > 0) {
				liObj.parent().parent().addClass("active");
				liObj.addClass("active");
			}
		}
		function addRoles() {
			var checkedNum=$("input[name='roleId']:checked").length;

			if (checkedNum==0) {
				alert("请至少选择一个角色进行添加!");
				return;
			}
			if (confirm("你确认要添加这些角色吗?")){
				var roleList=new Array();
				$("input[name='roleId']:checked").each(
						function () {
							roleList.push($(this).val())
						}
				);
				alert(roleList);
				$.ajax({
					type:"post",
					url: "${pageContext.request.contextPath}/user/addRoles.do",
					data:{userList:roleList.toString()},
					success:function () {
						alert("添加成功");
						location.reload();
					},
					error:function () {
						alert("添加失败");

					}
				})
			}
		}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值