01 概述

这是一个通用权限管理系统项目,基于 SSM(Spring + Spring-MVC +Mybatis)框架开发,其 SQL 语句持久在 Hibernate 中,对原生 SQL 的支持较好。制作该系统的初衷是用来帮助 JavaWeb 开发者或初学者学习、借鉴的需要。读者可以在这个 系统基础上引入其它技术或完全依赖本系统技术进行功能拓展,来开发实际应用需求的项目,免去了应用系统中对于“ 权限设计”这一部分的麻烦。

02 技术

JSP 、SSM(Spring + Spring-MVC + MyBatis)、Shiro 、Mvc、JDBC、MySQL、DWZ 富客户端框架 + jQuery + AJAX

03 环境

JDK:JDK1.6+ 、WEB:Tomcat6.0+ 、DB:MySQL5+ 、IDE: MyEclipse8.5+/Eclipse4.4+

java后台菜单权限 java权限系统_mybatis


java后台菜单权限 java权限系统_mybatis_02


java后台菜单权限 java权限系统_java_03


java后台菜单权限 java权限系统_mybatis_04


java后台菜单权限 java权限系统_java后台菜单权限_05


java后台菜单权限 java权限系统_java后台菜单权限_06


java后台菜单权限 java权限系统_java_07

06 主要代码

员工部门管理

package com.kzfire.portal.action.user;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import com.kzfire.portal.base.BaseAction;
import com.kzfire.portal.entiy.SysDept;
import com.kzfire.portal.service.DeptService;
import com.kzfire.portal.service.UserService;
import com.kzfire.portal.utils.JSONUtils;
import com.kzfire.portal.utils.VoFactory;
import com.kzfire.portal.vo.ConditionVo;

@RequestMapping("/user/dept")
@Controller
public class DeptAction extends BaseAction{
	@Autowired
	DeptService deptService;
	@Autowired
	UserService userService;
	
	/**
	 * 设置员工部门
	 * @param model
	 * @param request
	 * @param response
	 * @return
	 */
	@RequestMapping("/setUserDept")
	public String setUserDept(Model model,HttpServletRequest request,HttpServletResponse response) {
		
		String userId=request.getParameter("userId");
		model.addAttribute("userId", userId);
		//设置部门树
		List<SysDept> list=deptService.getAllDept();
		model.addAttribute("data", JSONUtils.parseList(list));
		return VIEW+"user/dept/setUserDept";
	}
	
	@RequestMapping("/saveUserdept")
	public ModelAndView saveUserdept(Model model, HttpServletRequest request,
			HttpServletResponse response) {
		try {
			Integer userId=Integer.parseInt(request.getParameter("userId"));
			Integer deptId=Integer.parseInt(request.getParameter("deptId"));
			deptService.saveUserdept(userId,deptId);
		} catch (Exception e) {
			e.printStackTrace();
			return ajaxDoneError("操作失败:"+e.getMessage());
		}
		return ajaxDoneSuccess("操作成功");
	}
	
	@RequestMapping("/main")
	public String list(Model model,HttpServletRequest request,HttpServletResponse response) {
		//设置部门树
		List<SysDept> list=deptService.getAllDept();
		System.out.println("json格式----->"    + JSONUtils.parseList(list).toString() );
		model.addAttribute("data", JSONUtils.parseList(list));
		return VIEW+"user/dept/dept";
	}
	
	@RequestMapping("/userList")
	public String userList(Model model,HttpServletRequest request,HttpServletResponse response) {
		ConditionVo cvo=VoFactory.getConditionVo(request);
		String deptId=request.getParameter("deptId");
		if("1".equals(deptId))
		{
			cvo.setText4("1");
		}else
		{
			cvo.setText3(request.getParameter("deptId"));
		}
		request.setAttribute("deptId", deptId);
		cvo.setTotalCount(userService.getUserCount(cvo));
		model.addAttribute("vo", cvo);
		model.addAttribute("list", userService.getList(cvo));
		return VIEW+"user/dept/userList";
	}
	
	@RequestMapping("/add")
	public String add(Model model,HttpServletRequest request,HttpServletResponse response) {
		SysDept dept=new SysDept();
		dept.setPid(Integer.parseInt(request.getParameter("selDept")));
		model.addAttribute("dept", dept);
		return VIEW+"user/dept/deptEdit";
	}
	@RequestMapping("/edit")
	public String edit(Model model,HttpServletRequest request,HttpServletResponse response) {
		SysDept dept=deptService.getDeptById(Integer.parseInt(request.getParameter("selDept")));
		model.addAttribute("dept", dept);
		return VIEW+"user/dept/deptEdit";
	}
	
	@RequestMapping("/del")
	public ModelAndView del(Model model, HttpServletRequest request)
	{
		try {
			String deptId=request.getParameter("selDept");
			deptService.delDeptById(Integer.parseInt(deptId));
		} catch (Exception e) {
			e.printStackTrace();
			return ajaxDoneError("操作失败:"+e.getMessage());
		}
		return ajaxDoneSuccess("操作成功");
	}
	
	@RequestMapping("/save")
	public ModelAndView save(SysDept dept,Model model, HttpServletRequest request,
			HttpServletResponse response) {
		try {
			if(dept!=null)
			{
				deptService.saveDept(dept);
			}
		} catch (Exception e) {
			e.printStackTrace();
			return ajaxDoneError("操作失败:"+e.getMessage());
		}
		return ajaxDoneSuccess("操作成功");
	}
}

07 其它

1、MySQL 数据库账户

MySQL 数据库默认端口:“3306”、数据库名:“kzfire”、账户名:“root”、密码:空。

2、SQL 文件

SQL 文件放在“MySQL 数据库 SQL 文件” 目录,需通过“Navicat for MySQL”工具执行此 SQL 文件。

3、系统启动文件

系统启动文件是“webroot”目录下的“login.jsp”

4、系统登录用户名及密码

“login.jsp”启动(运行)后,正常情况下进入登录界面,用户名输入“admin”,密码输入“123456”。如果登录不进去,很有可能是数据库参数配置问题导致,请检查数据库参数配置文件,数据库参数配置文件放