资讯专栏INFORMATION COLUMN

基于SSM+Idea+MySQL的汽车租赁系统(SSM毕业设计源码)

Carl / 799人阅读

摘要:每一种角色登录以后可以有不同权限的功能。功能较多,展示主要功能。

项目类型:JAVA WEB毕业设计
项目名称:基于SSM的汽车租赁系统

用户类型:多角色(角色可以自己添加并设置权限)
系统类型:后台管理系统
设计模式:SSM+Layui
开发工具:Idea
数据库:Mysql+Navicat
数据库表:11张
适用:软件工程、计算机科学与技术等JAVA课程的学习和毕业设计

学长源码

计科学长,免费指导降低查重,定期发布高质量手工开发源码,提供课程设计和毕业设计的指导!双1流高校刚毕业的老学长,曾经也是个小白!

项目来源:

获取地址:其他项目以及项目来源

回复  学生   免费get一套源码

 回复   ppt     免费get 367套毕业设计ppt模板

 相关优质毕业设计项目

基于SSM的电子产品商城

基于Jsp+Servlet的大学生社团管理系统

基于Jsp+Servlet的在线点餐系统

基于SSM的物流快递管理系统

基于Jsp+Servlet的医院挂号管理系统

Jsp+Servlet的学生上课签到打卡系统【原创开发】https://blog.csdn.net/qq_59059632/article/details/118943638https://blog.csdn.net/qq_59059632/article/details/118943638Jsp+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/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/120189420https://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 */@Servicepublic 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 page = PageHelper.startPage(roleVo.getPage(),roleVo.getLimit());        List data = this.roleMapper.queryAllRole(roleVo);        return new DataGridView(page.getTotal(),data);    }    /**     * 添加角色     * @param roleVo     */    @Override    public void addRole(RoleVo roleVo) {        this.roleMapper.insertSelective(roleVo);    }    /**     * 更新角色     * @param roleVo     */    @Override    public void updateRole(RoleVo roleVo) {        this.roleMapper.updateByPrimaryKeySelective(roleVo);    }    /**     * 根据角色roleid单个删除角色     * @param roleid     */    @Override    public void deleteRole(Integer roleid) {        //删除角色表的数据        this.roleMapper.deleteByPrimaryKey(roleid);        //根据角色id删除sys_role_menu里面的数据        this.roleMapper.deleteRoleMenuByRid(roleid);        //根据角色id删除sys_role_user里面的数据        this.roleMapper.deleteRoleUserByRid(roleid);    }    /**     * 根据前台页面传来的数组批量删除角色     * @param ids     */    @Override    public void deleteBatchRole(Integer[] ids) {        for (Integer rid : ids){            deleteRole(rid);        }    }    @Override    public DataGridView initRoleMenuTreeJson(Integer roleid) {        //查询所有的可用的菜单        Menu menu = new Menu();        menu.setAvailable(SysConstant.AVAILABLE_TRUE);        List allMenu = menuMapper.queryAllMenu(menu);        //根据角色ID查询当前角色拥有的菜单        List roleMenu = menuMapper.queryMenuByRoleId(SysConstant.AVAILABLE_TRUE,roleid);        List data = new ArrayList<>();        for (Menu m1 : allMenu) {            String checkArr = SysConstant.CODE_ZERO+"";            for (Menu m2 : roleMenu) {                if (m1.getId()==m2.getId()){                    checkArr=SysConstant.CODE_ONE+"";                    break;                }            }            Integer id = m1.getId();            Integer pid = m1.getPid();            String title = m1.getTitle();            Boolean spread = m1.getSpread()==SysConstant.SPREAD_TRUE?true:false;            data.add(new TreeNode(id,pid,title,spread,checkArr));        }        return new DataGridView(data);    }    @Override    public void saveRoleMenu(RoleVo roleVo) {        Integer rid=roleVo.getRoleid();        Integer [] mids=roleVo.getIds();        //根据rid删除sys_role_menu里面的所有数据        this.roleMapper.deleteRoleMenuByRid(rid);        //保存角色和菜单的关系        for (Integer mid : mids) {            this.roleMapper.insertRoleMenu(rid,mid);        }    }} 

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);}

RoleMapper.xml

                                                  roleid, rolename, roledesc, available                    delete from sys_role        where roleid = #{roleid,jdbcType=INTEGER}                insert into sys_role (roleid, rolename, roledesc,          available)        values (#{roleid,jdbcType=INTEGER}, #{rolename,jdbcType=VARCHAR}, #{roledesc,jdbcType=VARCHAR},          #{available,jdbcType=INTEGER})                insert into sys_role                                    roleid,                                        rolename,                                        roledesc,                                        available,                                                        #{roleid,jdbcType=INTEGER},                                        #{rolename,jdbcType=VARCHAR},                                        #{roledesc,jdbcType=VARCHAR},                                        #{available,jdbcType=INTEGER},                                    update sys_role                                    rolename = #{rolename,jdbcType=VARCHAR},                                        roledesc = #{roledesc,jdbcType=VARCHAR},                                        available = #{available,jdbcType=INTEGER},                            where roleid = #{roleid,jdbcType=INTEGER}                update sys_role        set rolename = #{rolename,jdbcType=VARCHAR},          roledesc = #{roledesc,jdbcType=VARCHAR},          available = #{available,jdbcType=INTEGER}        where roleid = #{roleid,jdbcType=INTEGER}                          delete from sys_role_menu where rid=#{value}                  delete from sys_role_user where rid=#{value}                  insert into sys_role_menu(rid, mid) values(#{rid},#{mid})                  delete from sys_role_user where uid=#{value}            

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/120915.html

相关文章

  • 课程设计——基于SSM校园服务帮助系统SSM课程设计)(JavaWeb课程设计源码

    摘要:项目类型项目架构项目名称基于的校园服务帮助系统用户类型个角色管理员学生系统类型后台管理系统设计模式界面外观开发工具也可以使用数据库数据库表张适用软件工程计算机科学与技术等课程的实验或课程设计作者介绍计科学长,可以免费指导降低查重,定期发布 项目类型:JAVA WEB项目(B/S架构) ...

    zhongmeizhi 评论0 收藏0
  • java基于SSM公司办公网站

    摘要:传统的管理模式还处于手工处理阶段,管理效率极低,随着员工的不断增多,传统基于手工管理模式已经无法满足当前员工需求,随着信息化时代的到来,使得办公网站的开发成了必然。 ...

    不知名网友 评论0 收藏0
  • 计算机毕业设计宠物商城系统ssm框架java项目mysql数据库

    摘要:大家好我是一名开发多年的老程序猿,喜欢研究代码,有不懂的地方可以咨询。源码定制化开发代码讲解文档撰写制作都可以。 大家好!我是一名Java开发多年的老程序猿,喜欢研究代码,有不懂的地方可以咨询。源码、定制化开发、代码讲解、文档撰写、ppt制作都可以。 ❤️技术选型: spring、...

    leanote 评论0 收藏0
  • 【计算机毕业设计基于ssm家校通网站系统

    摘要:家校通网站给教育带来了更广阔的发展空间。通知公告信息列表显示系统的所有通知公告信息,可以通过关键字查询。通知公告信息删除对输入错误或过期的通知公告信息删除。 随着网...

    EsgynChina 评论0 收藏0
  • 老师让我实现一个基于SSM在线租房系统

    摘要:系统部分功能展示如下前端页面用户登陆用户注册地图定位房屋信息查看后台管理功能租房信息管理区域信息管理房型信息管理用户信息管理以上是租房平台管理系统的部分功能展示,本系统功能完整,运行无误,比较适合做毕业设计使用。 学完SSM课程,老师让交毕业设计,每个人定一个题目,给我分配的是一个在线租房系...

    MangoGoing 评论0 收藏0

发表评论

0条评论

Carl

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<