学习人人开源:入门在最后:错误总结:帮助文档
通过文档导pom.xml的文件。时间比较长。jar比较多。然后改数据库的信息。如下
localhost的主机我改为ip地址。你们是一样的。不改也可以
username:renren改root
password:12345密码也是123456,就不用改。你们的我不知道。
左边的是多环境部署。
通过application,yml改active确定什么环境。
下面分别是develop:dev:开发环境。product:pro:生产环境 test:测试环境
改好了,就可以run------------------------------------了
其中renren-generator 代码生成器,很好玩。
例如,写一个学生管理表,
注意点:写表的时候要写注释。后面前端就有字段说明。很重要!!!!!!!!!
sql文件:
/*
Navicat Premium Data TransferSource Server : 127127
Source Server Type : MySQL
Source Server Version : 50532
Source Host : 192.168.127.127:3306
Source Schema : renren_securityTarget Server Type : MySQL
Target Server Version : 50532
File Encoding : 65001Date: 17/11/2020 16:58:08
*/SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;– Table structure for student
DROP TABLE IF EXISTS
student
;
CREATE TABLEstudent
(id
bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘学生主键’,student_Name
varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT ‘学生名字’,student_Age
int(20) NULL DEFAULT NULL COMMENT ‘学生年龄’,cost
double(7, 2) NULL DEFAULT NULL COMMENT ‘学费’,study_Date
bit(50) NULL DEFAULT NULL COMMENT ‘入学时间’,
PRIMARY KEY (id
) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = ‘学生表’ ROW_FORMAT = Compact;– Records of student
INSERT INTO
student
VALUES (1, ‘1’, 11, NULL, NULL);SET FOREIGN_KEY_CHECKS = 1;
然后可以生成代码了
代码就可以复制到项目中了。
注意里面代码的sql文件
– 菜单SQL,parent_id要我们在菜单中添加一个目录,然后这里使用目录的id,modules/sys/student.html,这里要修改modules/stu/student.html
写了stu之后,在项目中modules添加stu目录,
INSERT INTOsys_menu
(parent_id
,name
,url
,perms
,type
,icon
,order_num
)
VALUES (‘44’, ‘学生表’, ‘modules/stu/student.html’, NULL, ‘1’, ‘fa fa-file-code-o’, ‘6’);– 按钮父菜单ID
set @parentId = @@identity;– 菜单对应按钮SQL,把下面sys:修改为stu:
INSERT INTOsys_menu
(parent_id
,name
,url
,perms
,type
,icon
,order_num
)
SELECT @parentId, ‘查看’, null, ‘stu:student:list,stu:student:info’, ‘2’, null, ‘6’;
INSERT INTOsys_menu
(parent_id
,name
,url
,perms
,type
,icon
,order_num
)
SELECT @parentId, ‘新增’, null, ‘stu:student:save’, ‘2’, null, ‘6’;
INSERT INTOsys_menu
(parent_id
,name
,url
,perms
,type
,icon
,order_num
)
SELECT @parentId, ‘修改’, null, ‘stu:student:update’, ‘2’, null, ‘6’;
INSERT INTOsys_menu
(parent_id
,name
,url
,perms
,type
,icon
,order_num
)
SELECT @parentId, ‘删除’, null, ‘stu:student:delete’, ‘2’, null, ‘6’;
理解了就可以在代码中改sys文件替换为stu。并在modules加上生成代码stu。如图:
其他地方一样。里面代码也一样。知道跳转就好理解。
错误:
我开始写的学生表1是不可以跳转。因为生成代码中的sql文件没有改信息,就不能正常跳转。理解了,可以自己改了。
多环境部署:下面的三个页面可以同时run。同时操作。
项目增删改查都可以正常完成!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LIY4a0Xi-1605604462576)(C:\Users\GJUN\AppData\Roaming\Typora\typora-user-images\1605602631843.png)]
附件:
下载源码。就是其中的readme.md
官方文档:只有部分。全部要借款。
项目说明**
- 采用SpringBoot、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。
- 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
- 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库
具有如下特点
- 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
- 完善的部门管理及数据权限,通过注解实现数据权限的控制
- 完善的XSS防范及脚本过滤,彻底杜绝XSS攻击
- 支持分布式部署,session存储在redis中
- 友好的代码结构及注释,便于阅读及二次开发
- 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
- 页面交互使用Vue2.x,极大的提高了开发效率
- 引入swagger文档支持,方便编写API接口文档
数据权限设计思想
- 管理员管理、角色管理、部门管理,可操作本部门及子部门数据
- 菜单管理、定时任务、参数管理、字典管理、系统日志,没有数据权限
- 业务功能,按照用户数据权限,查询、操作数据【没有本部门数据权限,也能查询本人数据】
项目结构
renren-security
├─renren-common 公共模块
│
├─renren-admin 管理后台
│ ├─db 数据库SQL脚本
│ │
│ ├─modules 模块
│ │ ├─job 定时任务
│ │ ├─oss 文件存储
│ │ └─sys 系统管理(核心)
│ │
│ └─resources
│ ├─mapper MyBatis文件
│ ├─statics 静态资源
│ ├─template 系统页面
│ │ ├─modules 模块页面
│ │ ├─index.html AdminLTE主题风格(默认主题)
│ │ └─index1.html Layui主题风格
│ └─application.yml 全局配置文件
│
│
├─renren-api API服务
│
├─renren-generator 代码生成器
│ └─resources
│ ├─mapper MyBatis文件
│ ├─template 代码生成器模板(可增加或修改相应模板)
│ ├─application.yml 全局配置文件
│ └─generator.properties 代码生成器,配置文件
│
技术选型:
- 核心框架:Spring Boot 2.1
- 安全框架:Apache Shiro 1.4
- 视图框架:Spring MVC 5.0
- 持久层框架:MyBatis 3.5
- 定时器:Quartz 2.3
- 数据库连接池:Druid 1.1
- 日志管理:SLF4J 1.7、Log4j
- 页面交互:Vue2.x
软件需求
- JDK1.8
- MySQL5.5+
- Maven3.0+
本地部署
- 通过git下载源码
- idea、eclipse需安装lombok插件,不然会提示找不到entity的get set方法
- 创建数据库renren_security,数据库编码为UTF-8
- 执行db/mysql.sql文件,初始化数据【按需导入表结构及数据】
- 修改application-dev.yml文件,更新MySQL账号和密码
- 在renren-security目录下,执行mvn clean install
- Eclipse、IDEA运行AdminApplication.java,则可启动项目【renren-admin】
- renren-admin访问路径:http://localhost:8080/renren-admin
- swagger文档路径:http://localhost:8080/renren-admin/swagger/index.html
- swagger注解路径:http://localhost:8080/renren-admin/swagger-ui.html
- 账号密码:admin/admin
- Eclipse、IDEA运行ApiApplication.java,则可启动项目【renren-api】
- renren-api访问路径:http://localhost:8081/renren-api/swagger-ui.html
- Eclipse、IDEA运行GeneratorApplication.java,则可启动项目【renren-generator】
- renren-generator访问路径:http://localhost:8082/renren-generator
集群部署
- 集群部署,需要安装redis,并配置redis信息
- 需要配置【renren.redis.open=true】,表示开启redis缓存
- 需要配置【renren.cluster=true】,表示开启集群环境
项目演示
- 演示地址:http://demo.open.renren.io/renren-security
- 账号密码:admin/admin