使用基于Spring boot的guns快速构建自动生成代码的后台管理系统

本文介绍了如何基于Spring Boot使用Guns快速搭建后台管理平台,并详细阐述了数据库配置、代码生成、菜单权限配置以及CRUD操作的实现过程。

         最近要实现一个基于Spring boot后台管理平台,在慕课网上看到了Allen_jiang老师的基于Spring boot十分钟搞定后台管理平台,为了总结一下,顺便也记录一下,便于以后复习。在这里附上老师的教程网址:https://www.imooc.com/learn/936。 

下载guns

        一些基本的guns介绍这里就不说了,可以直接去码云上下载免费的guns压缩包,https://gitee.com/naan1993/guns

       打开网页,可以看到下面的结构

          这是guns的发布的最新版,可能是由于我自己的原因,还是其他原因,在这个版本里我没有找到生成代码的功能。我们往下找,

          我选择的是这个版本,点击可以看到下面的工程结构

         一些基本功能已经标注了,其他版本只要有generator这个模块,就有生成代码的功能,比较详细的知识可以自行学习老师课程或者百度。下载好了压缩包之后解压,找到这个文件

打开这个文件,并执行SQL,建立好数据库,然后将guns工程导入IDEA,我使用的是Intellij IDEA,导入成功之后找到配置文件,

修改配置文件,将数据库的用户和密码更改为自己的设置,我使用的是root用户,没有密码,

run成功之后,打开http://localhost:8080是一个登录页面,用户名是admin,密码是111111,登进去之后就会看到这样的页面

下面,就在guns数据库下新建表来演示一下代码生成的功能以及针对表的增、删、改、查等操作。

新建表tbl_house

 

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for tbl_house
-- ----------------------------
DROP TABLE IF EXISTS `tbl_house`;
CREATE TABLE `tbl_house` (
  `id` int(32) NOT NULL AUTO_INCREMENT,     --房屋编号
  `house_user` varchar(50) DEFAULT NULL,	--业主
  `house_address` varchar(200) DEFAULT NULL,--房屋地址
  `house_date` datetime DEFAULT NULL,		--房屋交付日期
  `house_desc` varchar(500) DEFAULT NULL,	--房屋描述
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tbl_house
-- ----------------------------
INSERT INTO `tbl_house` VALUES ('1', 'Arno', '湖南常德', '2017-10-22 16:00:00', '羽吢');

这是我通过Navicat自动生成的代码,而且我也已经插入了一行记录

在平台选择代码生成功能,可以看到我们新建的tbl_house表,选中之后坐下面的配置,之后点击生成。

 

 

我们返回IDEA,可以看到生成的SQL语句,拷贝至数据库运行,这样就在平台新建房屋管理的菜单选项了

选中房屋管理,点击修改,作如下配置

然后我们需要去菜单管理->角色管理,选中超级管理员,点击权限配置,将房屋管理的权限配置给超级管理员

因为我们新生成的房屋管理页面,还没有编译,所以需要我们重启项目,

表头都没得,是不是感觉很丑,别急,回到项目,找到这个文件,并做如图的配置

重启项目

 

 

下面就来实现增删改查

至于增加交付时间的弹出,只需要在末尾加入下面代码

至于为什么要这样做,聪明的你看看箭头所指的文件就知道为什么要这么做了

 

 

细心的同学肯定已经发现了,我明明没有写房屋编号,这个4是哪来的,这是因为我设置的自增长,从理论上上来说,既然是自增长,这个项其实是可以删掉的。

 

这个就直接选中,直接点击删除就没有了。

 

找到这个文件,作如下更改就收工了

 

 

因为是模糊查询,所以我在插入下面的记录后,做出两次查询

OK,基本的操作完成。关于打包成war包和jar包,请自行学习慕课老师的课程。

系统地讲解了如何构建一个日常生产环境实用的基于Spring Boot并且集成springmvc + shiro + mybatis-plus + beetl的后台管理系统,可管理代码生成模版,管理连接生成代码的数据库. Guns框架自带的功能:1.用户管理 2.角色管理 3.部门管理 4.菜单管理 5.字典管理 6.业务日志 7.登录日志 8.监控管理 9.通知管理 10.代码生成 Guns特点: 1. 基于SpringBoot,简化了大量项目配置和maven依赖,让您更专注于业务开发,独特的分包方式,代码多而不乱。 2. 完善的日志记录体系,可记录登录日志,业务操作日志(可记录操作前和操作后的数据),异常日志到数据库,通过@BussinessLog注解和LogObjectHolder.me().set()方法,业务操作日志可具体记录哪个用户,执行了哪些业务,修改了哪些数据,并且日志记录为异步执行,详情请见@BussinessLog注解和LogObjectHolder,LogManager,LogAop类。 3. 利用beetl模板引擎对前台页面进行封装和拆分,使臃肿的html代码变得简洁,更加易维护。 4. 对常用js插件进行二次封装,使js代码变得简洁,更加易维护,具体请见webapp/static/js/common文件夹内js代码。 5. 利用ehcache框架对经常调用的查询进行缓存,提升运行速度,具体请见ConstantFactory类中@Cacheable标记的方法。 6. controller层采用map + warpper方式的返回结果,返回给前端更为灵活的数据,具体参见com.stylefeng.guns.modular.system.warpper包中具体类。 7. 防止XSS攻击,通过XssFilter类对所有的输入的非法字符串进行过滤以及替换。 8. 简单可用的代码生成体系,通过SimpleTemplateEngine可生成带有主页跳转和增删改查的通用控制器、html页面以及相关的js,还可以生成Service和Dao,并且这些生成项都为可选的,通过ContextConfig下的一些列xxxSwitch开关,可灵活控制生成模板代码,让您把时间放在真正的业务上。 9. 控制器层统一的异常拦截机制,利用@ControllerAdvice统一对异常拦截,具体见com.stylefeng.guns.core.aop.GlobalExceptionHandler类。 10. 页面统一的js key-value单例模式写法,每个页面生成一个唯一的全局变量,提高js的利用效率,并且有效防止多个人员开发引起的函数名/类名冲突,并且可以更好地去维护代码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值