优化README

This commit is contained in:
mazhicheng 2019-06-22 16:01:36 +08:00
parent f73ac7ecfe
commit e22bb9f723
3 changed files with 63 additions and 42 deletions

View File

@ -1,57 +1,30 @@
# diboot-v2
diboot 2.0版本项目,实现: diboot-core全新内核 + diboot-devtools代码生成。
### diboot-core: 优化内核
### diboot-core: 精简优化内核
全新精简内核主要实现单表CRUD和多表关联绑定的无SQL实现方案并提供其他常用开发场景的简单封装。
#### 单表CRUD无SQL
> 基于Mybatis-Plus实现Mybatis-Plus具备通用Mapper方案和灵活的查询构造器
#### 多表关联查询无SQL适用于大多数场景拆分成单表查询自动实现结果绑定
> 通过注解实现多数场景下的关联查询无SQL
##### 1. 注解自动绑定元数据(枚举值)的显示值Label
~~~java
@BindMetadata(type="GENDER", field = "gender")
private String genderLabel;
~~~
##### 2. 注解自动绑定其他表的字段
~~~java
// 支持关联条件+附加条件绑定字段
@BindField(entity=Department.class, field="name", condition="department_id=id AND code IS NOT NULL")
private String deptName;
> 通过注解实现多数场景下的关联查询无SQL化自动绑定
##### 1. @BindMetadata 注解自动绑定元数据(枚举值)的显示值Label
##### 2. @BindField 注解自动绑定其他表的字段
##### 3. @BindEntity 注解自动绑定单个其他表实体Entity
##### 4. @BindEntityList 注解自动绑定其他表实体集合List<Entity>
// 支持通过中间表的级联关联绑定字段
@BindField(entity = Organization.class, field="name", condition="this.department_id=department.id AND department.org_id=id")
private String orgName;
~~~
##### 3. 注解自动绑定其他表实体Entity
~~~java
// 支持关联条件+附加条件绑定Entity
@BindEntity(entity = Department.class, condition="department_id=id")
private Department department;
具体请查看: [diboot-core 注解自动绑定多表关联](https://github.com/dibo-software/diboot-v2/tree/master/diboot-core "注解自动绑定多表关联").
// 通过中间表的级联关联绑定Entity支持附加条件
@BindEntity(entity = Organization.class, condition = "this.department_id=department.id AND department.org_id=id AND department.deleted=0")
private Organization organization;
~~~
##### 4. 注解自动绑定其他表实体集合List<Entity>
~~~java
// 支持关联条件+附加条件绑定多个Entity
@BindEntityList(entity = Department.class, condition = "id=parent_id")
private List<Department> children;
// 通过中间表的 多对多关联 绑定Entity支持附加条件
@BindEntityList(entity = Role.class, condition="this.id=user_role.user_id AND user_role.role_id=id")
private List<Role> roleList;
~~~
> 本地运行example需先执行/resources/init-mysql.sql到数据库。
### diboot-devtools 代码生成工具
提供数据库表管理功能
提供CRUD及关联绑定的相关代码生成Entity,VO,Service,Mapper,Controller...
### diboot-shiro 基于RBAC+Shiro的权限认证模块
RBAC的角色权限+基于Shiro的细粒度权限控制
### diboot-example: 示例
各组件使用示例项目
> 运行example需先执行/resources/init-mysql.sql到数据库。
### diboot-devtools 代码生成工具
> 比 1.x 版本更强大的代码生成工具 ...
...

46
diboot-core/README.md Normal file
View File

@ -0,0 +1,46 @@
## diboot-core: 全新优化内核
全新精简内核,主要实现:
1. 多表关联的自动绑定, 实现单表CRUD和多表关联的无SQL化
2. 提供其他常用开发场景的简单封装。
#### 单表CRUD无SQL
> 基于Mybatis-Plus实现Mybatis-Plus具备通用Mapper方案和灵活的查询构造器
#### 多表关联查询无SQL适用于大多数场景拆分成单表查询自动实现结果绑定
> 通过注解实现多数场景下的关联查询无SQL
##### 1. 注解自动绑定元数据(枚举值)的显示值Label
~~~java
@BindMetadata(type="GENDER", field = "gender")
private String genderLabel;
~~~
##### 2. 注解自动绑定其他表的字段
~~~java
// 支持关联条件+附加条件绑定字段
@BindField(entity=Department.class, field="name", condition="department_id=id AND parent_id>=0")
private String deptName;
// 支持通过中间表的级联关联绑定字段
@BindField(entity = Organization.class, field="name", condition="this.department_id=department.id AND department.org_id=id")
private String orgName;
~~~
##### 3. 注解自动绑定其他表实体Entity
~~~java
// 支持关联条件+附加条件绑定Entity
@BindEntity(entity = Department.class, condition="department_id=id")
private Department department;
// 通过中间表的级联关联绑定Entity支持附加条件
@BindEntity(entity = Organization.class, condition = "this.department_id=department.id AND department.org_id=id AND department.deleted=0")
private Organization organization;
~~~
##### 4. 注解自动绑定其他表实体集合List<Entity>
~~~java
// 支持关联条件+附加条件绑定多个Entity
@BindEntityList(entity = Department.class, condition = "id=parent_id")
private List<Department> children;
// 通过中间表的 多对多关联 绑定Entity支持附加条件
@BindEntityList(entity = Role.class, condition="this.id=user_role.user_id AND user_role.role_id=id")
private List<Role> roleList;
~~~
> 本地运行test单元测试需先执行/test/resources/init-{db}.sql到你的数据库暂提供Mysql脚本

2
diboot-example/README.md Normal file
View File

@ -0,0 +1,2 @@
## diboot-example: 各组件/模块的使用样例
本地运行test单元测试需先执行/test/resources/init-{db}.sql到你的数据库暂提供Mysql脚本