项目类型:JAVA WEB毕业设计
项目名称:基于SSM的汽车租赁系统
用户类型:多角色(角色可以自己添加并设置权限)
系统类型:后台管理系统
设计模式:SSM+Layui
开发工具:Idea
数据库:Mysql+Navicat
数据库表:11张
适用:软件工程、计算机科学与技术等JAVA课程的学习和毕业设计
博主公众号——学长源码
回复 学生 免费get一套JavaWeb源码
回复 ppt 免费get 367套毕设答辩ppt模板
获取地址:其他项目以及项目来源
相关优质毕业设计项目
基于SSM的电子产品商城
基于Jsp+Servlet的大学生社团管理系统
基于Jsp+Servlet的在线点餐系统
基于SSM的物流快递管理系统
基于Jsp+Servlet的医院挂号管理系统
Jsp+Servlet的学生上课签到打卡系统【原创开发】https://blog.csdn.net/qq_59059632/article/details/118943638
https://blog.csdn.net/qq_59059632/article/details/118943638Jsp+Servlet图书管理系统【原创开发】https://blog.csdn.net/qq_59059632/article/details/118656590
https://blog.csdn.net/qq_59059632/article/details/118656590
Jsp+Servlet图书管理系统【原创开发】https://blog.csdn.net/qq_59059632/article/details/118656590https://blog.csdn.net/qq_59059632/article/details/118656590
Jsp+Servlet大学生社团管理系统【原创开发】https://blog.csdn.net/qq_59059632/article/details/119332395https://blog.csdn.net/qq_59059632/article/details/119332395
Jsp+Servlet在线点餐系统(原创)https://editor.csdn.net/md/?articleId=118831747https://editor.csdn.net/md/?articleId=118831747
Jsp+Servlet医院挂号系统https://blog.csdn.net/qq_59059632/article/details/119424113https://blog.csdn.net/qq_59059632/article/details/119424113 Jsp+Servlet汽车保险系统https://blog.csdn.net/qq_59059632/article/details/120189420
https://blog.csdn.net/qq_59059632/article/details/120189420
本系统是多角色,每一种角色可以自己设定,添加角色以后,分配每个角色不同的权限,即可实现多角色登录。每一种角色登录以后可以有不同权限的功能。功能较多,展示主要功能。
登录界面
租赁客户管理
汽车信息管理
添加待出租的汽车
汽车对外出租
汽车出租订单管理
出租归还(在归还的时候,需要对齐进行检修)
菜单管理
角色管理
用户管理
统计分析
RoleManage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
角色管理
<%----%>
<%--角色分配菜单的弹出层开始--%>
RoleController.java
package com.bjpowernode.sys.controller;
import com.bjpowernode.sys.service.RoleService;
import com.bjpowernode.sys.utils.DataGridView;
import com.bjpowernode.sys.utils.ResultObj;
import com.bjpowernode.sys.vo.RoleVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 角色控制器
*
* 2020/2/17 14:36
*/
@RestController
@RequestMapping("role")
public class RoleController {
@Autowired
private RoleService roleService;
/**
* 加载角色列表返回DataGridView
*/
@RequestMapping("loadAllRole")
public DataGridView loadAllRole(RoleVo roleVo) {
return this.roleService.queryAllRole(roleVo);
}
/**
* 添加角色
*/
@RequestMapping("addRole")
public ResultObj addRole(RoleVo roleVo) {
try {
this.roleService.addRole(roleVo);
return ResultObj.ADD_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.ADD_ERROR;
}
}
/**
* 修改角色
*/
@RequestMapping("updateRole")
public ResultObj updateRole(RoleVo roleVo) {
try {
this.roleService.updateRole(roleVo);
return ResultObj.UPDATE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.UPDATE_ERROR;
}
}
/**
* 删除角色
*/
@RequestMapping("deleteRole")
public ResultObj deleteRole(RoleVo roleVo) {
try {
this.roleService.deleteRole(roleVo.getRoleid());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}
/**
* 批量删除角色
*/
@RequestMapping("deleteBatchRole")
public ResultObj deleteBatchRole(RoleVo roleVo) {
try {
this.roleService.deleteBatchRole(roleVo.getIds());
return ResultObj.DELETE_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DELETE_ERROR;
}
}
/**
* 加载角色管理分配菜单的json
*/
@RequestMapping("initRoleMenuTreeJson")
public DataGridView initRoleMenuTreeJson(Integer roleid) {
return this.roleService.initRoleMenuTreeJson(roleid);
}
/**
* 保存角色和菜单的关系
*/
@RequestMapping("saveRoleMenu")
public ResultObj saveRoleMenu(RoleVo roleVo) {
try {
this.roleService.saveRoleMenu(roleVo);
return ResultObj.DISPATCH_SUCCESS;
} catch (Exception e) {
e.printStackTrace();
return ResultObj.DISPATCH_ERROR;
}
}
}
RoleService.Java
package com.bjpowernode.sys.service;
import com.bjpowernode.sys.domain.Role;
import com.bjpowernode.sys.utils.DataGridView;
import com.bjpowernode.sys.vo.RoleVo;
import java.util.List;
/**
*
*/
public interface RoleService {
/**
* 查询所有角色返回
* @param roleVo
* @return
*/
public List queryAllRoleForList(RoleVo roleVo);
/**
* 根据用户id查询用户的可用角色
*/
public List queryRoleByUserIdForList(RoleVo roleVo, Integer userId);
/**
* 查询所有角色
* @param roleVo
* @return
*/
public DataGridView queryAllRole(RoleVo roleVo);
/**
* 添加角色
* @param roleVo
*/
public void addRole(RoleVo roleVo);
/**
* 修改角色
* @param roleVo
*/
public void updateRole(RoleVo roleVo);
/**
* 根据id删除角色
* @param roleid
*/
public void deleteRole(Integer roleid);
/**
* 批量删除角色
* @param ids
*/
public void deleteBatchRole(Integer [] ids);
/**
* 加载角色管理分配菜单的json
* @param roleid
* @return
*/
public DataGridView initRoleMenuTreeJson(Integer roleid);
/**
* 保存角色和菜单的关系
* @param roleVo
*/
public void saveRoleMenu(RoleVo roleVo);
}
RoleServiceImpl.java
package com.bjpowernode.sys.service.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.bjpowernode.sys.constant.SysConstant;
import com.bjpowernode.sys.domain.Menu;
import com.bjpowernode.sys.domain.Role;
import com.bjpowernode.sys.mapper.MenuMapper;
import com.bjpowernode.sys.mapper.RoleMapper;
import com.bjpowernode.sys.service.RoleService;
import com.bjpowernode.sys.utils.DataGridView;
import com.bjpowernode.sys.utils.TreeNode;
import com.bjpowernode.sys.vo.RoleVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 角色管理的服务接口
*
* 2020/2/17 13:55
*/
@Service
public class RoleServiceImpl implements RoleService {
@Autowired
private RoleMapper roleMapper;
@Autowired
private MenuMapper menuMapper;
/**
* 查询所有菜单返回
* @param roleVo
* @return
*/
@Override
public List queryAllRoleForList(RoleVo roleVo) {
return roleMapper.queryAllRole(roleVo);
}
/**
* @param roleVo
* @param userId
* @return
*/
@Override
public List queryRoleByUserIdForList(RoleVo roleVo, Integer userId) {
return roleMapper.queryAllRole(roleVo);
}
/**
* 查询所有角色列表
* @param roleVo
* @return
*/
@Override
public DataGridView queryAllRole(RoleVo roleVo) {
Page
RoleMapper.java
package com.bjpowernode.sys.mapper;
import com.bjpowernode.sys.domain.Role;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
*/
public interface RoleMapper {
int deleteByPrimaryKey(Integer roleid);
int insert(Role record);
int insertSelective(Role record);
Role selectByPrimaryKey(Integer roleid);
int updateByPrimaryKeySelective(Role record);
int updateByPrimaryKey(Role record);
/**
* 查询角色
* @param role
* @return
*/
List queryAllRole(Role role);
/**
* 根据角色id删除sys_role_menu里面的数据
* @param roleid
*/
void deleteRoleMenuByRid(Integer roleid);
/**
* 根据角色id删除sys_role_user里面的数据
* @param roleid
*/
void deleteRoleUserByRid(Integer roleid);
/**
* 保存角色和菜单的关系sys_role_menu
* @param rid
* @param mid
*/
void insertRoleMenu(@Param("rid") Integer rid, @Param("mid") Integer mid);
/**
* 根据用户id删除sys_role_user里面的数据
* @param userid
*/
void deleteRoleUserByUid(Integer userid);
/**
* 根据用户id查询角色
* @param available
* @param userid
* @return
*/
List queryRoleByUid(@Param("available") Integer available,@Param("uid") Integer userid);
}