Diboot light-code development platform is a low-code development platform for developers, which automates repetitive work and improves quality, efficiency, and maintainability.
Diboot light code development platform mainly consists of diboot-core and diboot-devtools. diboot-core specially encapsulates the diboot-core-spring-boot-starter component for springboot. diboot-devtools is also provided as starter.
1. Developed specifically for springboot, introduce dependencies, configure the relative path and then use it;
2. And supports five commonly used databases (MySQL, ORACLE, SQLServer, PostgreSQL, MariaDB);
3. The code is automatically generated into the corresponding directory of the project;
4. After the database table structure is changed, the code of the corresponding file can be changed synchronously without affecting the code you wrote yourself;
5. The data association (one-to-one, one-to-many, many-to-many, data dictionary association, etc.) implemented by annotations in the basic framework simplifies the association problem;
6. It is simple to set up data association, and code generation and update can also automatically support one-to-one, one-to-many, many-to-many, and data dictionary associations;
7. Support the recording of data structure changes in database-related tables during the development and maintenance process, and write them into the corresponding database change log files;
8. Support the code form of enabling lombok;
9. Support swagger-enabled projects;
10. Few dependencies, simple and lightweight, and high flexibility.
v2.6.0
New
Supports Dameng and Renmin University of Finance and Economics databases
@BindCount annotation, used for binding scenarios of sub-item summary count
Added Pagination.isPaginationParam to filter whether request parameters are pagination parameters.
Added the MapUtils tool class, which is used in scenarios such as Oracle and DM where case-insensitive Map values need to be ignored.
optimization
The condition of the binding annotation supports adding main table extension conditions, such as "AND this.gender = 'M' "
BindQuery null value processing optimization, supports the specified construction of IsNull
Optimize the logic of obtaining schema and database type to avoid incompatibility issues
BeanUtils.buildTree supports non-id named primary keys and specifies each node name.
Context monitoring is switched to ApplicationReadyEvent to avoid the problem of being refreshed under certain circumstances.
Spring type converter optimization, supports LocalDateTime, etc., supports extensions
BeanUtils get*Property supports extracting property values from map objects
The cache interface is synchronized to avoid potential problems in multi-threaded scenarios.
Upgrade dependencies: spring boot 2.7.0, mybatis-plus 3.5.2
v2.3.1
New
Added @ProtectField annotation to implement field encryption and desensitization, supporting security and other protections
BindEntityList now supports multiple ID splicing and storing values for disassembly and binding.
BindFieldList now supports orderBy sorting
Added diboot.global.init-sql global configuration to turn off sql automatic initialization check
Added InvalidUsageException to prompt incorrect calls
optimization
Optimize the legal inspection of request parameters, abnormal information filtering and other security protections
Optimize PagingJsonResult and add an empty constructor to facilitate deserialization
Optimize the implementation of the NN update interface of BaseService
Upgrade dependencies: spring boot 2.5.5, mybatis-plus 3.4.3.4...
repair
Fix bug: Optimize select field logic and incorrectly convert AS alias fields under certain circumstances