项目一 3 PageHelper插件 部门管理 RBAC权限模型 用户管理

回顾

  • 多租户的数据库设计
  • 三范式和反三范式
  • 数据库建模
  • 前端环境搭建以及企业的基本CRUD

1 企业分页

1.1 需求分析

在这里插入图片描述

1.2 传统的分页

PageBean对象

  • 将资料中的PageResult对象拷贝到export_common工程中
  • 在export_dao工程中添加对export_common模块的依赖关系

改造controller

在这里插入图片描述

改造service

在这里插入图片描述

改造dao

在这里插入图片描述

页面处理

在这里插入图片描述

1.3 PageHelper分页插件

​ PageHelper是一个开源的基于mybatis的自动分页插件,内置了PageBean对象.使用PageHelper进行分页,我们不在关注如何查询总记录数,不在关注如何进行分页查询,全部都交给PageHelper插件自动完成.使用PageHelper我们仅需要查询全部即可

1.3.1 在项目中引入分页插件

在export_parent工程中导入PageHelper坐标(省略)

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
</dependency>

1.3.2 在spring和mybatis整合的配置文件中配置分页插件

在export)_dao工程中进行配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"></property>
    <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageInterceptor">
                <property name="properties">
                    <value>
                        <!--
                            自动的生成分页的语句
                                mysql分页 : limit
                                oracle分页 : rownum
                        -->
                        helperDialect=mysql
                    </value>
                </property>
            </bean>
        </array>
    </property>
</bean>

1.3.3 在service层使用分页插件完成分页查询

  1. 设置分页参数

    PageHelper.startPage(page,size)

  2. 查询全部

    调用dao查询全部

  3. 构造返回值:PageInfo

    new PageInfo(list);

1.4 使用PageHelper完成企业分页

在这里插入图片描述
<1> companyController
在这里插入图片描述
<2>companyService
在这里插入图片描述
<3>companyServiceImpl

在这里插入图片描述
<4> company-list页面

在这里插入图片描述

2 部门管理

在这里插入图片描述

2.1 创建工程基本结构

在这里插入图片描述

2.2 部门列表查询

在这里插入图片描述

controller

在这里插入图片描述
将参数: companyId 传到service层,dao层, 登录者根据自己所在的公司companyId查询,本公司部门信息.

service

在这里插入图片描述

dao

在这里插入图片描述

映射文件

在这里插入图片描述
页面相关代码:
在这里插入图片描述
相关页面:
在这里插入图片描述

页面处理

在dept-list.jsp中删除

<%-- <shiro:hasPermission name="删除部门"></shiro:hasPermission>--%>

2.2 保存部门

  • 进入到保存页面
    在这里插入图片描述
    在这里插入图片描述

  • 执行保存的动作

在这里插入图片描述
点击保存后,将部门信息存入到数据库中,并跳转到list页面进行展示.
在这里插入图片描述
相关代码如下:

在这里插入图片描述

2.3 修改部门

  • 进入到修改的页面
    在这里插入图片描述

  • 执行修改的动作

  • 在这里插入图片描述

2.4 删除部门

(外键错误 如果想删除父部门,同时删除子部门 将数据库改为cascade)
在这里插入图片描述

2.5 代码优化

抽取公共request,response,session到父类中

在这里插入图片描述
在这里插入图片描述

3 RBAC的权限模型

3.1 概述

在这里插入图片描述
基于角色的访问控制(rbac) : 在用户和菜单之间添加一个新的模块角色,只需要对用户指定角色,那么用户自然会获取此角色所对应的所有权限

3.2 数据库表

在这里插入图片描述

3.3 saas系统中的权限管理

参与saas系统的人员:

​ 1.软件提供商的(SaaS)管理员 : 具备saas管理响应的权限

​ 2.租用企业员工

​ 2.1 租用企业的管理员 : 具有所有权限

​ 2.2 租用企业的普通员工 : 使用rbac控制权限
在这里插入图片描述

4 作业: 用户管理

总结

1.PageHelper插件

2.部门的管理

3.RBAC(用户,角色,菜单,用户角色中间表,角色菜单中间表)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值