{"repo":"zycgit/dbvisitor","free":true,"listed":false,"github":"https://github.com/zycgit/dbvisitor","clone":"git clone https://github.com/zycgit/dbvisitor.git","description":"dbVisitor is a JDBC-based unified data access layer realizing \"One API Access Any DataBase\". Its Dual-Layer Architecture bridges RDBMS and NoSQL (MySQL, MongoDB) using standard APIs without new syntax, offering a flexible, abstraction-managed general data foundation for Java applications.","language":"Java","stars":83,"topics":["orm","mybatis","spring","orm-library","orm-framework","springdata","database","jdbctemplate","jdbc","jooq"],"license":"Apache-2.0","category":"databases-storage","readme_excerpt":"愿景 “One APIs Access Any DataBase” 一款数据库访问库，提供 Java 对多种不同类型数据库统一访问，它的目标是使用一套 API 访问所有数据库。 Website • Documentation • Blog [ English ] [ 中文 ] --- 📖 简介 Introduction dbVisitor 是一款基于 JDBC 标准构建的 统一数据访问基座 ，致力于实现 “One APIs Access Any DataBase” 的愿景。 借助独特的 双层适配器架构 ，它成功打破了 RDBMS 与 NoSQL 之间的编程壁垒，让开发者能够使用 同一套标准 API 无缝操作 MySQL、MongoDB、Elasticsearch 等各类数据库。 dbVisitor 不主张发明新语法去掩盖差异，而是通过 标准化 与 分层抽象 来科学地 管理差异 ，为 Java 应用提供了一个既具备便捷性又保留 JDBC 灵活性的通用数据底座。 dbVisitor 提供了多层次的 API 抽象，允许在 简单性 与 灵活性 之间自由切换： - 🛡 LambdaTemplate : 屏蔽差异 - 类型安全的 Lambda 查询构建器，支持链式调用。 - 单表 CRUD 方法，开箱即用，自动翻译为目标数据库的 SQL 或 DSL。 - 🧱 Mapper/Interface : 管理差异 - 声明式接口编程，支持 @Query /XML，将 SQL/DSL 逻辑与代码分离。 - 提供 BaseMapper 通用方法无需重复开发。 - 🔧 JdbcTemplate : 透传差异 - 标准 JDBC 模板方法，支持原生 SQL 和 Shell 脚本透传。 - 提供 ConnectionCallback，允许直接访问底层驱动 API。 ✨ 核心特性 Features ⚙️ 框架特点 (Framework Characteristics) - 🛡️ 统一基座 : 一套 API 通杀 RDBMS (MySQL, PG...) 与 NoSQL (Mongo, ES...)。 - 🔌 广泛兼容 : 纯 Java (JDK8+)，零依赖，完美适配 Spring/Solon 等主流框架。 - 📦 轻量级 : 极简设计，核心仅依赖 cobble 工具包。 🔋 基础能力 (Capabilities) - API 分层抽象 ： - 编程式 API，通过编程方式实现对数据库的访问，最大特点是具有强大的灵活性。 - 声明式 API，通过接口可以对 SQL 的维护更加集中，使代码结构变得更加清晰。 - 通用 Mapper，通用 Mapper 可以让您的程序在数据访问层变得更加精炼。 - 构造器 API，通过链式调用的方式构造查询条件，避免了手写 SQL 的繁琐。 - 文件 Mapper，通过文件的方式编写 SQL 或 DSL，使得 SQL 逻辑与代码完全分离。 - JDBC 适配器，提供对 JDBC 的标准封装，支持各类非关系型数据库的接入。 - 对象映射 ： - 一套 API 应对不同类型数据源，学习曲线平稳，无需掌握复杂的概念。 - 支持智能结果集映射，自动处理 驼峰转换 与属性填充。 - 内置 6 种 主键生成器，不够还可以自定义 - Tips：不支持关系映射，如：一对一、一对多、多对一、多对多。 - SQL Rules ： - 动态 SQL 简化，引入 @{...} 规则语法，大幅简化动态 SQL 拼接逻辑，告别繁琐的 XML 标签。 - SQL","default_branch":null,"files":null,"tree":[],"storefront":"/r/zycgit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/zycgit/dbvisitor/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}