diff --git a/README.md b/README.md index e42f80993e35522554e02afcfa8648276c8772d4..317105f121ebde40a4cb91a6cafabbe415462828 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,84 @@ -介绍 ------------------------------------- -

- dbVisitor 数据库访问库,提供 Java 对关系数据库更加自然的访问。 -

-

- https://www.dbvisitor.net -

+# dbVisitor ORM -

- - Maven - - - Apache 2 - - - jdk-8 - -
- - gitee star - - - github star - -
- [English] - [中文] -

+**dbVisitor** 是一个轻量级的 ORM 工具,它专注于简化数据库操作,同时保留直接使用 SQL 的灵活性。与传统的 ORM 不同,dbVisitor 剚除了关系映射,只保留了对象映射,使得在使用过程中可以更贴近 SQL 本身,同时又不失对象操作的便利。 -dbVisitor 是建立在 JDBC 基础之上,如果您的数据源有 JDBC 驱动程序,则可以很方便的将其与 dbVisitor 一起使用。 它改进了 JDBC 低级接口提供更加自然的 API。 +## 特性 -## 为什么使用它? +- **多种 API 支持**:提供声明式 API、编程式 API 以及 Lambda API,适用于不同场景下的数据库操作。 +- **动态 SQL 支持**:通过规则机制优雅地处理动态 SQL,支持 AND、OR、SET、IN �1) 等常用规则。 +- **参数处理**:支持位置参数、名称参数、注入参数等多种参数传递方式,并且可以使用 OGNL 表达式进行取值。 +- **对象映射**:支持自动映射,处理 Java 类型与 JDBC 类型的转换,包括枚举、抽象类、JSON 序列化等。 +- **事务管理**:内置轻量级事务管理器,支持多种事务传播行为和隔离级别。 +- **多数据库支持**:针对不同数据库(如 MySQL、PostgreSQL、Oracle)提供方言支持,包括分页查询、批量操作等。 +- **类型处理器**:提供基础类型处理器,同时也支持自定义类型处理器以满足特殊需求。 +- **流式处理**:对于大规模数据查询,支持流式处理,避免内存溢出。 +- **集成支持**:提供与 Guice、Hasor、Solon、Spring �1) 等框架的集成模块。 -已经有许多基于JDBC的数据库访问方法和库,其中不乏许多知名的工具。尽管如此,人们仍然在寻求更简单、更方便的数据访问方法,这导致了更先进或更有趣的数据访问方法的出现。从EJB到Hibernate,然后到MyBatis、SpringJDBC,以及曾经或仍然活跃的ActiveRecord、QueryWrapper、Row、Chain、JPA等。每一种新方法都给人们带来惊喜,同时也有其固有的局限性。 -即便如此人们依然在寻找对数据的访问更加简单便利的方法,这也使得有更多先进或更有意思的数据访问方式出现。 +## 使用指引 -dbVisitor 的核心突破在于访问模式的无缝集成,开发者可在同一项目中混合使用不同的访问范式。这种设计解决了传统方案中多框架并存导致的兼容性问题,例如:JdbcTemplate 和 MyBatis 不同风格操作。 +为了在项目中使用 dbVisitor,您可以通过以下方式引入: -这种多范式集成架构使得 dbVisitor 能够适应不同复杂度场景:小型项目可快速启用 ActiveRecord 模式提升开发效率,中大型系统则可通过动态 SQL 与存储过程支持实现复杂业务逻辑。 +### Apache Maven -## 使用 dbVisitor +```xml + + com.zycgit + dbvisitor + x.x.x + +``` -- dbVisitor 使用商业友好的 [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) 许可协议。 -- dbVisitor 只有 [Cobble](https://gitee.com/zycgit/cobble) 一个依赖(cobble 是一个类似 Apache Commons 或 Guava 的工具包) -- 所有 dbVisitor 模块以及依赖项都可以通过 [Maven Central](https://central.sonatype.com/search?q=dbvisitor) 获得。 +### Gradle -## JVM 兼容性 +```groovy +implementation 'com.zycgit:dbvisitor:x.x.x' +``` -dbVisitor 可在所有 Java 8 或更高版本上运行,所有版本均使用 Java 8 编译构建。 +请将 `x.x.x` 替换为实际使用的版本号。 -## 生态支持 +## 文档结构 -- Spring、SpringBoot、Solon、Hasor、Guice +- **[API 指南]**: 介绍如何使用 BaseMapper 接口,以及声明式 API、文件 Mapper 和 Lambda API。 +- **[参数传递]**: 详解参数传递的不同方式,包括 SQL 注入、接口方式、名称参数、位置参数以及规则传参。 +- **[最佳实践]**: 包含处理超大表、复杂条件构建等实践建议。 +- **[核心功能]**: 涉及注解、Mapper 文件、JdbcTemplate、LambdaTemplate 等核心组件的使用。 +- **[事务管理]**: 介绍事务管理器的使用,包括注解事务、编程式事务和模板事务。 +- **[类型处理器]**: 介绍如何处理数组、布尔、日期、数字、字符串等类型,以及自定义类型处理器。 +- **[版本更新]**: 提供从 v0.0.12 到最新 v6.0.x 的版本更新日志。 + +## 示例 + +dbVisitor 提供了多个示例项目来帮助开发者快速上手,包括但不限于: + +- **基础示例**:展示 CURD 操作、JDBC 使用、Mapper 接口等。 +- **Guice 集成**:展示如何在 Guice 中使用 dbVisitor。 +- **Hasor 雸成**:展示如何在 Hasor 中使用 dbVisitor。 +- **Solon 集成**:展示如何在 Solon 中使用 dbVisitor。 +- **Spring 集成**:提供 Spring XML 和 Spring Boot 的集成示例。 + +每个示例都包含了详细的 `README.md` 文件和源代码,帮助开发者快速理解 dbVisitor 在不同框架中的使用方法。 + +## 社区与支持 + +- **官方网站**:访问 [官网文档](https1://dbvisitor.io) 获取最新文档。 +- **版本发布**:版本更新详情请参阅 [版本发布页](https://dbvisitor.io/guide/releases)。 +- **问题反馈**:如果您在使用过程中遇到任何问题,可以通过 [Issue 跟踪](https://gitee.com/zycgit/dbvisitor/issues) 进行反馈。 +- **社区交流**:加入我们的 [QQ 群](mailto:email-zyc@byshell) 或访问 [项目主页](https://gitee.com/zycgit/dbvisitor) 进行交流。 + +## 版本兼容性 + +dbVisitor 支持多种 JVM 版本,确保在不同的 Java 环境下都能正常工作。 + +## 许可证 + +本项目采用 [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) 许可证,详情请参阅 [LICENSE.txt](LICENSE.txt)。 + +## 项目贡献 + +欢迎贡献代码和文档。贡献者需要遵循 [贡献指南](CONTRIBUTING.md),并且提交的代码需要通过所有测试用例。 + +--- + +请根据您的开发环境选择合适的集成模块和示例项目,dbVisitor 将会是您数据访问层的强大助手。 \ No newline at end of file