guns初级使用
1.下载guns
gitee地址:https://gitee.com/stylefeng/guns
这里使用的是Guns v5.1
2.配置环境
2.1 导入项目
解压从gitee上下载的guns源码。
点击Import Project
将项目路径导入
后面都是下一步下一步。
项目结构:
2.2 配置数据库
在guns项目下的sql文件导入数据库
运行sql创建数据库与表
表结构:
在resource下配置yml文件,数据库名、账目、密码等。
2.3 配置业务的表
这里只是学习,所以表比较简单
create table tb1_house(
id int(11) PRIMARY KEY AUTO_INCREMENT comment '编号',
house_user VARCHAR(50) comment '客房拥有者',
house_address VARCHAR(200) comment '客房地址',
house_date datetime comment '租房时间',
house_desc VARCHAR(500) comment '客房描述'
) comment '客房信息';
- 表的主键名称最好用id,不然生成的前端模板需要改js。
- 表的字段最好加上注释,不然需要自己手动在前端页面上添加列的信息。
3.使用guns生成业务代码
3.1 进入项目
启动guns项目,因为guns是springboot项目,所以直接启动main函数即可。
输入http://localhost:8080/ 即可访问。
默认的账号:admin,密码:111111
进入guns后台
3.2 生成代码
设置基础信息
选中需要生成前后端代码的表与对应模板
点击生成,会提示是否生成生成功。
并且在idea中会多出几样东西。
- cn.stylefeng.guns.modular.house下是生成的后端代码
House.sql这是菜单表的代码,需要插入到数据库中。
在webapp下会生成对应的前端js与html(实际是beetlmub)
3.3 配置角色权限
重启项目,并进入项目。
配置权限的权限菜单。
设置当前用户可见的菜单
刷新页面会发现右侧菜单多出一个房屋管理。
3.4 编写业务代码
由于Guns的代码生成器还不能实现100%的智能,所以生成之后还需要对生成的代码做一些完善,如果有除了增删改查以外的业务,还需要手动编写。例如,上面编写的添加和修改里,下单时间默认是text文本框,这里需要手动改为laydate样式的日期框,实体类上也需要加上日期注解处理如下图
<script>
laydate.render({
elem: '#houseDate'
});
</script>
重启项目即可增删改查。
4.guns项目发布
mvn clean package -Dmaven.test.skip=true
在target目录下就有生成的jar文件。
运行jar
nohup java -jar guns-1.0.0.jar &
5.总结
- 表的主键必须是int支持自增
- 表的主键名称最好用id,不然生成的前端模板需要改js。
- 表的字段最好加上注释,不然需要自己手动在前端页面上添加列的信息。
guns初级使用的更多相关文章
- 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)
马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python 高级之面向对象初级
python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...
- N皇后问题—初级回溯
N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- codefordream 关于js初级训练
这里的初级训练相对简单,差不多都是以前知识温习. 比如输出“hello world”,直接使用console.log()就行.注释符号,“//”可以注释单行,快捷键 alt+/,"/* ...
- Mysql操作初级
Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...
- python面向对象初级(七)
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...
- 学习 opencv---(3) ROI 区域图像叠加&初级图像混合
在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...
随机推荐
- 一起学Android之ViewPager
本文以一个简单的小例子,简述在Android开发中ViewPager的常见用法,仅供学习分享使用. 概述 ViewPager是一个支持使用者左右滑动的布局管理控件,可以通过一个实现的(适配器)Page ...
- 安卓9.0系统机器(亲测有效)激活Xposed框架的步骤
对于喜欢玩手机的哥们来说,经常会用到xposed框架及其种类繁多功能无敌的模块,对于5.0以下的系统版本,只要手机能获得root权限,安装和激活xposed框架是非常简便的,但随着系统版本的持续更新, ...
- ubunru18.04下面安装docker
sudo apt-get updat // 更新apt包索引 sudo apt-get remove docker docker-engine docker-ce docker.io // 卸载旧版本 ...
- 使用原生 JS 复制文本兼容移动端 iOS & android
注意事项 使用 JS 实现复制功能并不是很难,但是有几个需要注意的地方. 首先文本只有选中才可以复制,所以简单的做法就是创建一个隐藏的 input,然后绑定需要复制的文本. 另外如果将 input 设 ...
- marathon传参一
今天试了下marathon传参,新建一个job,增加一个参数,然后用cmd方式,echo出来 定义的json: { "id": "test1", "l ...
- tps 和 qps的区别
QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS:是Transactions ...
- vue移动端常用组件
3d picker组件 参考链接:https://segmentfault.com/a/1190000007253581?utm_source=tag-newest安装:npm install vue ...
- pycharm 安装dilb模块
- 《为大量出现的KPI流快速部署异常检测模型》 笔记
以下我为这篇<Rapid Deployment of Anomaly Detection Models for Large Number of Emerging KPI Streams>做 ...
- H5软键盘兼容方案
前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上.需求很明确,看似很简单,其实不然.从实验过一些机型上看,发现主要存在以下问题: ...