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初级使用的更多相关文章

  1. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  2. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  3. python 高级之面向对象初级

    python 高级之面向对象初级 本节内容 类的创建 类的构造方法 面向对象之封装 面向对象之继承 面向对象之多态 面向对象之成员 property 1.类的创建 面向对象:对函数进行分类和封装,让开 ...

  4. N皇后问题—初级回溯

    N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...

  5. python 面向对象初级篇

    Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...

  6. codefordream 关于js初级训练

    这里的初级训练相对简单,差不多都是以前知识温习. 比如输出“hello world”,直接使用console.log()就行.注释符号,“//”可以注释单行,快捷键 alt+/,"/*   ...

  7. Mysql操作初级

    Mysql操作初级 本节内容 数据库概述 数据库安装 数据库操作 数据表操作 表内容操作 1.数据库概述 数据库管理系统叫做DBMS 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建 ...

  8. python面向对象初级(七)

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向过程编程最易被初学 ...

  9. 学习 opencv---(3) ROI 区域图像叠加&初级图像混合

    在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...

随机推荐

  1. 安装CentOs 7.3

    步 下载安装 CentOS 7.3  下载地址 1.官网:https://www.centos.org/download/ 2.centos阿里汇总:https://yq.aliyun.com/zt/ ...

  2. Testlink1.9.17使用方法( 第四章 测试需求管理 )

    第四章 测试需求管理 QQ交流群:585499566 需求规格说明书是我们开展测试的依据.首先,我们可以对项目(产品)的需求规格说明书进行分解和整理,将其拆分为多个需求,一个项目可以包含多个需求,一个 ...

  3. Vue2.0 --- vue-cli脚手架中全局引入JQ

    第一步:安装jQuery npm/cmpn方式安装(默认安装1.7.X版本的JQ) npm/cnpm install jQuery 如果想安装更高版本的JQ那么可以选择在package.json文件下 ...

  4. k8s部署dashboard:v1.5.1

    1.准备dashboard.yaml文件 apiVersion: extensions/v1beta1 kind: Deployment metadata: # Keep the name in sy ...

  5. Linux 压缩某个文件夹命令

    tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/home/xahot.ta ...

  6. openstack 2019/4/28

    官网参考地址:https://docs.openstack.org/keystone/queens/install/index-rdo.html (但愿能看懂) 环境:这个部分解释如何按示例架构配置控 ...

  7. SkiaSharp图像处理

    SkiaSharp图像处理 .NET Core使用skiasharp文字头像生成方案(基于docker发布)   一.问题背景 目前.NET Core下面针对于图像处理的库微软并没有集成,在.NET ...

  8. Neutron:浮动ip

    如果需要从外网直接访问 instance,则可以利用 floating IP.   下面是关于 floating IP 必须知道的事实: 1. floating IP 提供静态 NAT 功能,建立外网 ...

  9. hibernate 查询字段是重复名字的处理方法

    目前遇到了三种情况: 一:当表的字段是数字类型(int,long .....) select name,ifnull(conpih.uh_id,0) from user; 将重复的字段如上修改用ifn ...

  10. 小小知识点(十一)——MATLAB中fftshift的作用