What is Diboot?
diboot-core 精简高效内核
单表CRUD无SQL
关联查询无SQL - 注解自动绑定
数据字典无SQL - 注解自动绑定
Entity/DTO自动转换查询对象
常用工具类的最佳实践封装
diboot-devtools 强大开发助理
支持多数据库(MySQL、MariaDB、ORACLE、SQLServer、PostgreSQL)
使用很简单(引入依赖jar,配置参数后,即可随SpringBoot启动运行)
功能很强大(数据结构变更与代码联动同步,一键生成/更新代码,自动记录变更SQL)
配置很灵活(可按需配置生成代码是否启用`Lombok`、`Swagger`、`Shiro`等)
代码很标准(devtools标准化了数据结构定义与代码实现,降低维护成本)
点我 diboot官网传送门
开始使用
新建spring boot 项目
maven地址:
<!--diboot开发助理生产环境记得关掉--> <dependency> <groupId>com.diboot</groupId> <artifactId>diboot-devtools-spring-boot-starter</artifactId> <version>2.0.5</version> <scope>provided</scope> </dependency> <!--diboot核心--> <dependency> <groupId>com.diboot</groupId> <artifactId>diboot-core-spring-boot-starter</artifactId> <version>2.0.5</version> </dependency> <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.5.0</version> </dependency> <!--hutool一款非常哇塞的Util工具包--> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.7</version> </dependency> <!--lombok 配合lombok让代码精简精简再精简--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--alibaba druid 阿里的链接池 听说性能非常哇塞--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency>
修改application.yml
server: port: 81 spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/test?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8 type: com.alibaba.druid.pool.DruidDataSource diboot: devtools: codes-version: 1.0 codes-copyright: achin codes-author: achin output-path-entity: demo/src/main/java/com/gxc/quanghuo/entity/ output-path-controller: demo/src/main/java/com/gxc/quanghuo/controller/ output-path-mapper: demo/src/main/java/com/gxc/quanghuo/mapper/ output-path-service: demo/src/main/java/com/gxc/quanghuo/service/ output-path-sql: demo/src/main/resources/ output-path-vo: demo/src/main/java/com/gxc/quanghuo/vo/ enable-lombok: true enable-swagger: true generate-mapper-xml: true
配置信息说明
spring.main.allow-bean-definition-overriding=true:遇到同样名字的Bean时,允许覆盖。
以下diboot-devtools 相关配置均可根据实际情况填写
codes-version:当前使用diboot-devtools的版本号。
codes-copyright:生成代码的版权归属,显示在每个类或接口的注释中。
codes-author:生成代码的作者,显示在每个类或接口的注释中。
output-path-*:分别指向当前项目中
Entity
、VO
、Service及其实现类
、Mapper及映射文件
、Controller
、SQL文件所在的路径
。generate-mapper-xml:是否生成Mapper.xml文件,默认true
enable-lombok:是否引入
Lombok
注解,若设置true,请注意添加Lombok依赖。enable-swagger:是否引入
Swagger
注解,若设置true,请注意添加Swagger依赖。controller-mapping-extend: controller是否继承crud的url mapping,默认为false
配置完后启动项目
点击这个链接就可以开始crud生成之旅啦
点击右上角更新数据库生成代码,
够不够哇塞一个crud再如此短的时间就做好了。省下了大把时间可以带薪划水。(老板看不到我系列~。。~)
ps:如果你是java初学者,非常不建议你看这篇文章和学习相关的逆向生成技术
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。