同步操作将从 开源小组/HY-generator 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
基础模板后端为springmvc+swagger restful api风格 前端模板为 jquery-easyui风格 支持扩展
执行 crud-example\db.sql 即可创建数据库用户以及初始化测试脚本
cd e:\git-new-res\crud-generator
mvn clean install
cd e:\git-new-res\crud-generator\crud-example
mvn mybatis-generator:generate
cd e:\git-new-res\crud-generator\crud-gen
mvn spring-boot:run
后端:
前端:
cd e:\git-new-res\crud-generator\crud-example
mvn spring-boot:run
浏览器输入 http://127.0.0.1/8080/swagger-ui.html
浏览器输入 http://127.0.0.1/8080/userview
crud-gen模块下application.yml 通过简洁的yml语法即可配置生成代码的相关属性 示例如下:
crudgen:
project:
java-project-path: E:\git-new-res\crud-generator\crud-example #生成的java工程路径
view-project-path: E:\git-new-res\crud-generator\crud-example #视图生成的工程路径
template-path: /templates/easyui #模板路径 默认为当前项目 resources/templates/easyui下
controller-enabled: true #是否生成controller
service-enabled: true #是否生成service服务
view-enabled: true #是否生成视图 默认thymeleaf html
js-enabled: true #是否生成js
model-attributes:
- model-name: User #model名称 支持配置多表 参考yml数组配置
extend-attr-map: #自定义扩展属性
author: hyluan
java-attributes:
model-package: com.lhy.example.user.model #model包路径
service-package: com.lhy.example.user.service #service包路径
controller-package: com.lhy.example.user.web #controller包路径
controller-request-mapping: user #controller requestMapping路径
query-order-sql: updated desc #排序字段,格式为sql中order by 后的内容
view-attributes:
view-path: example/user #html等视图文件相对路径
column-attr-map: #列属性
#类扩展配置 不是必须,不设置也能正常生成
id:
index: 1 #顺序号
nullable: false #是否可空 默认可空
queryable: false #是否作为查询条件 默认否
uniqueable: false #是否唯一性校验 默认否
alias: 用户ID #列别名 页面显示字段名称 为空默认为数据库字段注释
grid-showable: false #表格是否显示 默认显示
type: #数据展示类型 text combobox datebox等 暂未实现
extend-attr-map: #列扩展属性 map可自定义
custom-attr: 2018
name:
index: 2 #顺序号
nullable: false #是否可空 默认可空
queryable: true #是否作为查询条件 默认否
uniqueable: true #是否唯一性校验
alias: 用户姓名 #列别名 页面显示字段名称 为空默认为数据库字段注释
grid-showable: true #表格是否显示 默认显示
pass:
grid-showable: false
phone:
index: 3
status:
index: 4
nullable: false
queryable: true
created:
index: 5
updated:
index: 6
crudgen.model-attributes.extend-attr-map
--配置模型自定义属性
crudgen.model-attributes. column-attr-map.列名.extend-attr-map
--#列扩展属性
如果不想使用jpa注解和swagger注解,可以继承抽象类 AbstractCrudColumnFactory 和 AbstractCrudBeanFactory 并注册为spring bean来自定义模型和列的内容
默认实现: DefaultCrudColumnFactory.java 和 DefaultCrudBeanFactory.java
如果前后端未分离需要设置controller和view对应关系 传统方式是采用@Controller注解映射 例如: 本项目服务端全部使用@RestController接口,不映射视图 将映射模块作为一个扩展功能,根据模型增量生成视图和view映射关系
参考curd-gen模块下:
CustomWebConfigGenerator.java
继承对应的abstractXXGenerator
并添加@Component注解即可替换默认的模板文件生成器
默认的后端生成器为springmvc+mybatis+mapper方式 默认的前端为easyui html方式
crud-generator\crud-gen\src\main\java\com\lhy\tool\custom
目录
以下两个模块可单独引入
crud-mvc
为基于springmvc封装的一个通用controller和service接口,基于restful-api和泛型设计 继承BaseControllerImpl即可包含常用增删改查接口功能
crud-plugin
mybatis-geneator 扩展插件, 包含以下扩展功能
<!--开启swagger-ui注解-->
<property name="swaggerApiEnabled" value="true" />
<!--实现序列化接口 默认true -->
<property name="implementSerializableInteface" value="true" />
<!--实体类增加字段名称枚举 默认true -->
<property name="modelFieldEnum" value="true" />
<!--setter方法链式调用(返回this) 默认true -->
<property name="setterMethodChainEnabled" value="true" />
例如:封装变化,单一职责,多组合少继承,对修改关闭对扩展开放等等。。。
欢迎大家交流学习。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。