UserController
@RequestMapping("/login.do")
public ModelAndView Login(User user, HttpSession session)
{
int id=userService.login(user.getUsername(),user.getPassword());
ModelAndView modelAndView=new ModelAndView();
if (id!=-1)
{
List<Integer> roleIds=roleService.findRoleId(id);
session.setAttribute("roleIds",roleIds);
session.setAttribute("user",user);
modelAndView.setViewName("main");
}
else
{
modelAndView.setViewName("/failer.jsp");
}
return modelAndView;
}
@RequestMapping(value="/findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue = "1") int currentPage,String username,@RequestParam(defaultValue = "0")int type,HttpSession session)
{
//第一次搜索
if (type==1)
{
session.setAttribute("searchname",username);
}
else {
username=(String) session.getAttribute("searchname");
}
PageInfo<User> pageInfo=userService.findAll(currentPage,username);
ModelAndView modelAndView= new ModelAndView();
modelAndView.addObject("pageinfo",pageInfo);
modelAndView.setViewName("user-list");
return modelAndView;
}
@RequestMapping("/toAddRole.do")
public ModelAndView toAddRole(int id)
{
List<Role> roleList=roleService.findRole(id);
ModelAndView mv=new ModelAndView();
mv.addObject("roleList",roleList);
mv.addObject("userId",id);
mv.setViewName("user-role-add");
return mv;
}
@RequestMapping("/addRole.do")
public ModelAndView addRole(int userId,String roleId)
{
String[] strs=roleId.split(",");
List<Integer> ids=new ArrayList<>();
for (String s:strs)
{
ids.add(Integer.parseInt(s));
}
for (int d:ids)
{
roleService.addRole(userId,d);
System.out.println(d);
System.out.println(userId);
}
ModelAndView mv=new ModelAndView();
mv.setViewName("user-role-add");
return mv;
}
RoleService
@Service
public class RoleServiceImp implements RoleService
{
@Autowired
private RoleDao roleDao;
@Override
public List<Integer> findRoleId(int userId) {
return roleDao.findRoleIdByUserId(userId);
}
@Override
public List<Role> findRole(int id)
{
return roleDao.findRole(id);
}
public void addRole(int userId,int roleId)
{
roleDao.addRole(userId,roleId);
}
RoleMapper.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.zhong.Dao.RoleDao" >
<select id="findRoleIdByUserId" parameterType="int" resultType="int">
select roleId from user_role where userId=#{userId};
</select>
<select id="findRole" parameterType="int" resultType="Role">
select * from tb_role WHERE id NOT IN (SELECT roleId FROM user_role WHERE userId=#{id})
</select>
<insert id="addRole" parameterType="int">
insert into user_role(userId,roleid) values(#{userId},#{roleId})
</insert>
</mapper>