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。
- 表的字段最好加上注释,不然需要自己手动在前端页面上添加列的信息。
- JDK版本建议1.8,我用JDK11时出现
java.lang.NoClassDefFoundError: com/sun/javafx/PlatformUtil
的错误。 - 数据库名在生成代码时一定要用
guns
,生成完之后想用啥用啥。