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

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。

人人框架renren-security |小记(第一篇)的更多相关文章

  1. b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释

    继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来 ...

  2. JSON数据处理框架Jackson精解第一篇-序列化与反序列化核心用法

    Jackson是Spring Boot默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的,没有这种限制.它提供了很 ...

  3. 【SSH三大框架】Hibernate基础第一篇:编写第一个Hibernate程序

    接下来这几章节学习的是Hibernate,Hibernate的主要作用就是用来和数据库进行连接,简化了JDBC的操作. 首先,我们创建项目,然后把Hibernate的jar包和sqlserver的驱动 ...

  4. python应用:爬虫框架Scrapy系统学习第一篇——xpath详解

    HTML的三大概念:标签.元素以及属性 标签:尖括号中的文本       例:<head>……</head> 标签通常成对出现 元素:标签中的所有内容        元素中可包 ...

  5. Android开源框架Afinal第一篇——揭开圣女的面纱

    Android开源框架Afinal第一篇——揭开圣女的面纱 分类: Android开源框架哪点事2013-09-02 14:25 260人阅读 评论(0) 收藏 举报 Afinal 这是Afinal在 ...

  6. 第一篇web框架

    第一篇web框架 http协议 web应用和web框架 主 文 http协议 HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维 ...

  7. Spring框架第一篇之Spring的第一个程序

    一.下载Spring的jar包 通过http://repo.spring.io/release/org/springframework/spring/地址下载最新的Spring的zip包,当然,如果你 ...

  8. 基于NetMQ的TLS框架NetMQ.Security的实现分析

    基于NetMQ的TLS框架NetMQ.Security的实现分析 前言 介绍 交互过程 支持的协议 TLS协议 支持的算法 实现 握手 第一次握手 Client Hello 第二次握手 Server ...

  9. vue+uni-app商城实战 | 第一篇:【有来小店】微信小程序快速开发接入Spring Cloud OAuth2认证中心完成授权登录

    一. 前言 本篇通过实战来讲述如何使用uni-app快速进行商城微信小程序的开发以及小程序如何接入后台Spring Cloud微服务. 有来商城 youlai-mall 项目是一套全栈商城系统,技术栈 ...

随机推荐

  1. 虚拟化技术之kvm基础

    一.KVM简介 KVM的全称是kernel base virtual machine(基于内核的虚拟机)是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中. ...

  2. Provisional headers are shown 问题的一种情况

    Provisional headers are shown 出现在请求头的报错里面,意思为 显示临时的头部,真实的意思是,请求没有收到服务器返回.如果出现类似情况, 可以在服务端找一找,是否没有给该请 ...

  3. 【期外】(三)Linux下集成开发环境Geany

    今天小编发现了一个很好的软件,它的名字就叫做Geany. 这是Linux系统中的开发工具,相当的好用. Linux与windows最大的不同正是不是集成开发环境,所以写起代码来总是用文档写好后,然后再 ...

  4. Hive学习目录

    大数据之Hive学习目录 第 1 章 Hive入门 1.1 什么是Hive 1.2 Hive的优缺点 1.2.1 优点 1.2.2 缺点 1.3 *Hive架构原理 1.4 Hive和数据库比较 第 ...

  5. 手把手教Linux驱动1-模块化编程,玩转module

    大家好,从本篇起,一口君将手把手教大家如何来学习Linux驱动,预计会有20篇关于驱动初级部分知识点.本专题会一直更新,有任何疑问,可以留言或者加我微信. 一.什么是模块化编程? Linux的开发者, ...

  6. Discovering Reinforcement Learning Algorithms

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2007.08794v1 [cs.LG] 17 Jul 2020 Abstract 强化学习(RL)算法根据经过多年研究手动发 ...

  7. Docker 安装及配置镜像加速

    Docker 版本 随着 Docker 的飞速发展,企业级功能的上线,更好的服务意味着需要支付一定的费用,目前 Docker 被分为两个版本: community-edition 社区版 enterp ...

  8. Java数据结构——树、二叉树的理论知识汇总

    通用树的理论知识 一.树的定义 由一个或多个(n>=0)节点组成的有限集合T,有且仅有一个节点称为根(root),当n>1时,其7余的节点为m(m>=0)个互不相交的有限集合T1,T ...

  9. python3.6和pip3:Ubuntu下安装升级与踩坑之路

    本文以Ubuntu16.x系统为例,演示如何安装python3.6和相应环境.安装Python3的机器必须要能访问外网才能进行如下操作! 1. 安装方式 在Ubuntu下安装python有两种方式: ...

  10. sql 游标(理论)

    游标是处理结果集的一种机制 --声明游标 --ISO 语法 DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_state ...