起步简介
起步简介
core 简介
高效精简内核,重构查询方式,简化开发、提高性能,主要实现:
core 是 D+ 2.x版本的核心基础框架,基于Spring Boot、Mybatis-plus封装,实现基础代码的简化及高效开发。 使用d+-core可以更加简单快捷地创建web应用,极大简化之前的诸多复杂SQL和代码,更易维护。 同时搭配 devtools 高效工具,让您彻底摆脱常规SQL与CRUD。
- 单表CRUD无SQL
- 关联查询绑定无SQL(注解自动绑定)
- 数据字典无SQL(注解自动绑定)
- 跨表Join查询无SQL(QueryWrapper自动构建与查询)
- BaseService扩展增强,支持常规的单表及关联开发场景接口
- 数据权限、工具类的最佳实践封装(非微服务版本)
- 提供d+-core-starter (opens new window),简化d+-core的初始化配置(自动配置、自动创建字典表)
core 与 core-starter 的说明
- core 是D+的内核组件,core只封装基础实现,不依赖任何表和starter组件。
- core-starter
是基于core组件的starter封装,包含Dictionary字典表service和mapper实现、BindDict字典绑定的实现、自动安装字典表,以及默认配置HttpMessageConverters和Mybatis-plus的分页。
core (core-starter) 使用步骤
1. 引入依赖
Maven
<dependency>
<groupId>com.diboot</groupId>
<artifactId>diboot-core-spring-boot-starter</artifactId>
<version>{latestVersion}</version>
</dependency>或Gradle:
compile("com.diboot:diboot-core-spring-boot-starter:{latestVersion}")2. 配置参数(数据源)
- 以Mysql为例,配置数据源如下:
spring:
datasource:
url: jdbc:mysql://xxxx:3306/xxx?characterEncoding=utf8&serverTimezone=GMT%2B8
username: xx
password: xxx
maximum-pool-size: 5
driver-class-name: com.mysql.cj.jdbc.Driver注:@BindDict注解需要依赖dictionary表,d+-core starter 初次启动时会自动创建该表。
- core-spring-boot-starter的可选参数配置:
# 是否初始化sql,默认true,初始化之后可以改为false关闭检测
diboot:
core:
init-sql: false3. 配置config类:
core-starter默认预置了mybatis-plus的分页配置(使用mybatis-plus 3.4.x的MybatisPlusInterceptor最新配置方式)。
如果您依赖的是core-starter,则无需再次配置mybatis-plus的分页。 如果需要添加其他Interceptor,则需要重新定义MybatisPlusInterceptor。 示例如下:
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}同时core-starter中也默认配置了HttpMessageConverters,如果需要更改默认配置, 则需要在配置类中重新定义HttpMessageConverters。
@Bean
public HttpMessageConverters jacksonHttpMessageConverters() {
...
}注意:core-starter预置了默认的配置以及字典表相关的接口实现,如果是老项目中仅依赖core(非core-starter),则还需要将diboot的包路径加入ComponentScan中。
4. 参考样例 - core-example
core的最佳实践:建议自定义自己的Base类,避免直接继承core中的Base类,便于后期扩展。 启用devtools,可一键生成初始自定义Base类代码到本地。
支持数据库
MySQL (5.7+)、MariaDB (10+)、ORACLE (12c+)、SQLServer (2017+)、PostgreSQL (11+)。
其他数据库不支持starter自动安装表,d+不提供默认支持,如果需要其他库下使用,可联系我们定制适配。
相关依赖
新项目建议使用 core-starter自动配置及建表,mybatis-plus老项目可以尝试依赖d+ core并手动配置并实现字典绑定接口。
提示
core 依赖:
- javax.servlet-api 4.x
- spring-web 5.3.x. RELEASE
- spring-tx 5.3.x. RELEASE
- spring-jdbc 5.3.x. RELEASE
- spring-context 5.3.x. RELEASE
- hibernate-validator 6.2.x. Final
- slf4j-api 1.7.x
- mybatis-plus 3.4.2
- commons-lang3 3.11
- jackson-databind
提示
core-starter 新增依赖:
- spring-boot-starter-web 2.4.x
- spring-boot-starter-validation 2.4.x
- mybatis-plus-boot-starter 3.4.2
提示
需要额外添加的jar:
- 数据库驱动包 (如 mysql:mysql-connector-java:8.0.x)
