Penn000

人人框架renren-security |小记(第一篇)

一丶首先介绍一下人人框架:

1、简介

renren-security | 轻量级权限管理系统

 

  • 采用Spring、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用

  • 支持分布式部署、Quartz分布式集群调度、部门管理、数据权限、云存储等功能

  • renren-security (人人权限系统)是一套轻量级的权限系统,主要包括用户管理、角色管理、部门管理、菜单管 理、定时任务、参数管理、字典管理、文件上传、系统日志、文章管理、APP模块等功能。其 中,还拥有多数据源、数据权限、Redis缓存动态开启与关闭、统一异常处理等技术特点。

  • renren-security采用SpringBoot、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。

  • 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求

  • 完善的部门管理及数据权限,通过注解实现数据权限的控制

  • 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击

  • 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库

等等   不想再多ββ了直接看项目演示。

2、结构简介

项目演示地址:  

http://demo.open.renren.io/renren-security/login.html

账号: admin

密码: admin

   老板说给几天的时间熟悉一下这个框架,然后写个模块出来,想想就想笑一会。因为配套的文档上面有个教程可以快速生成代码的代码生成器。

  先在数据库建一个表,运行一下代码生成器,直接把生成的模块代码覆盖到原文件夹就可以了,模块就写好了。然后在周末老板安排了一下周末培训,关于这个人人框架的,就是让一个熟练的老手,手摸手教学(好恶心啊),现场敲一个模块出来。记得那天很热,老板是JD(不是京东啊!)实习的指导老师,熟练的老手叫李哥,中午一起吃了饭,还记得吃了一份凉皮和一个肉夹馍,点了4个菜,老板跟李哥说今天必须写一个Demo出来,不然就别让他们回去,然后经过一番波折,任务还是完成了的,回去的时候想起室友当时生成代码时说的:老板肯定没看文档,知道我们是生成的代码,一定会杀了我们的,哈哈哈哈哈哈。

  好的一个小插曲emmmm.

项目采用springboot+Mybatis-Plus+Vue+maven前后端不分离的结构模式

项目结构如下:

3、主要的的东西:

  作为一个新手小白的我有些地方还是些许生疏,写下来权当复习一遍了,哈哈。

介绍一下层级:

modules-sys

         Controller:控制层

         Dao:数据访问层

         Service:业务逻辑层

         Entity:实体类

resources-mapper-sys

         配置文件:xml

resources-mapper-statics

         静态文件:css js fonts libs

resources-mapper-templates

         index:Html

application.yml配置文件

    数据库 端口 等等

4、下面讲一下环境哈,其实也没什么好说的,流程还是要走一下:

JDK1.8

MySQL5.7

Maven3.6

IDEA2018.3.5

IDEA插件下载两个,第一个下不下都可以(阿里检测代码的,个人推荐一下)。

都说Springboot入门容易精通难,使用起来十分方便,但是整合的东西太多,比如Tomcat就不用本地了下载安装了,都整合好了的,直接用就行了,所以要精通还要下一番苦力啊!

 

 

 

二丶说一下主要的东西 我们这个项目主要实现一下功能

1、学生管理的增删改查(小白,小白现在还只会增删改查)

2、性别上做一个下拉选项

3、班级上做一个下拉选项

好的!至此所有的功能实现完毕!

 

 

 

三丶接下来看代码吧!尽量简短一下空间(直接截图吧!)

1、我们应该先设计数据库,关于数据库呢这里有一个Navicat Premium破解版!

链接:https://pan.baidu.com/s/1QPzsrhpKGAcjC-e0ch_brg 

提取码:0g8o 

当然用workbench也行,其实我自己也用workbench。因为不知道为什么我用Navicat Premium老出外键无法约束的错(难受,因为在这憋了两天)。

首先我们应先设计一个表sys_student(名字可以自取但是项目中要一致)

 

2、数据库设计完成之后就可以敲代码了。

2.1首先从实体类开始,创建SysStudentEntity的实体类

 利用Lombok插件@Data注解就可以不用写GetSet方法,使用起来很方便又节省了时间。Serializable用来规范序列化。@TableName注解标注数据库表的名字。

 

 

2.2下面来写Dao层

       这里创建一个findAll()方法返回类型为实体类的List。

      在使用Mybatis-Plus中我们可能用到一个比较多的类是BaseMapper接口,其最终也是利用的Mybatis接口编程的实现机制,其默认提供了一系列的增删改查的基础方法,并且开发人员对于这些基础操作不需要写SQL进行处理操作(Mybatis提供的机制就是需要开发人员在mapper.xml中提供sql语句),那样我们可以猜测肯定是Mybatis-Plus完成了BaseMapper接口提供的方法的SQL语句的生成操作。

 

 

2.3xml文件(可使用mybatis-plugin插件在Dao层中快捷生成xml文件部分)

       property为实体类中数据表对应的名字,column对应的为数据库表的名字。这里算是一个审核。因为使用插件增删改查语句已自动导入,不用自己写,节约了大量时间。

 

 

2.4下面来写Service层

         编写Sevice层queryPage();findAll();接口。PageUtils是实现分页查询接口的工具。

@Autowired注解,它可以对成员变量、方法及构造函数进行标注,完成自动装配工作,并消除GetSet方法,其实在启动springIOC时容器自动装载了一个Autowired的后置处理器,当容器扫描到@Autowired,就会自动查找需要的bean,并装配该对象的属性。这里实现Service层接口queryPage();findAll();

 

 

2.5控制层

调用service层queryPage()方法,实现分页查询。

       这里调用Service层的findAll()方法,返回实体类列表。

下面是调用增删改查方法返回“操作成功^_^”:

 

 

 

四、前端代码(太多了,想要的话留言或者自己去网站上下载项目仿写一下还是可以的)

1、Js

 

 

 

2、Html

 

 

 

3、到此,基本功能已经实现

 

 

 

五、下面来做一下性别和班级的下拉框

1、首先重新设计数据库如图:

新建两个表:sys_class和sys_sex.

 

新建的两个表给上数据然后在sys_student表中增加两个外键(一般都会自动建立索引,如果没有就自己建)如图:

 

 

 

 

2、以下在项目中增加sys_class、sys_sex的实体类、dao层、service层、xml文件:

Entity:

dao:

service:

xml:

这里读取sys_sex的所有数据按sexid排序

这里读取sys_classid的所有数据按classid排序

 

 

3、前端文件

3.1Html

这里添加两个select选择器,样式、返回值

 

 

3.2Js

这里增加两个变量。

这里声明queryAllClass();queryAllSex()方法名。

这里写方法实现。

 

 

4、后台运行一下

 

4.1打开端口

 

4.2添加一个名字为微信的同学:

 

4.3修改他的性别:

 

4.4查看数据库:

好的功能实现,到此结束,谢谢大家,老铁点个关注,双击666。

 

posted @ 2020-09-16 11:53  Tiramisu_Liu  阅读(2600)  评论(0编辑  收藏  举报