From e22bb9f723b3a7307fc3d67e49450e359a0385dd Mon Sep 17 00:00:00 2001 From: mazhicheng Date: Sat, 22 Jun 2019 16:01:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 57 +++++++++++----------------------------- diboot-core/README.md | 46 ++++++++++++++++++++++++++++++++ diboot-example/README.md | 2 ++ 3 files changed, 63 insertions(+), 42 deletions(-) create mode 100644 diboot-core/README.md create mode 100644 diboot-example/README.md diff --git a/README.md b/README.md index f962a5e..04ba3d1 100644 --- a/README.md +++ b/README.md @@ -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 -// 支持通过中间表的级联关联绑定字段 -@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 -~~~java -// 支持关联条件+附加条件绑定多个Entity -@BindEntityList(entity = Department.class, condition = "id=parent_id") -private List children; -// 通过中间表的 多对多关联 绑定Entity(支持附加条件) -@BindEntityList(entity = Role.class, condition="this.id=user_role.user_id AND user_role.role_id=id") -private List 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 版本更强大的代码生成工具 ... + ... \ No newline at end of file diff --git a/diboot-core/README.md b/diboot-core/README.md new file mode 100644 index 0000000..56dcc99 --- /dev/null +++ b/diboot-core/README.md @@ -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 +~~~java +// 支持关联条件+附加条件绑定多个Entity +@BindEntityList(entity = Department.class, condition = "id=parent_id") +private List children; + +// 通过中间表的 多对多关联 绑定Entity(支持附加条件) +@BindEntityList(entity = Role.class, condition="this.id=user_role.user_id AND user_role.role_id=id") +private List roleList; +~~~ + + > 本地运行test单元测试需先执行/test/resources/init-{db}.sql到你的数据库(暂提供Mysql脚本)。 diff --git a/diboot-example/README.md b/diboot-example/README.md new file mode 100644 index 0000000..39506da --- /dev/null +++ b/diboot-example/README.md @@ -0,0 +1,2 @@ +## diboot-example: 各组件/模块的使用样例 +本地运行test单元测试需先执行/test/resources/init-{db}.sql到你的数据库(暂提供Mysql脚本)。