# dbvisitor **Repository Path**: zycgit/dbvisitor ## Basic Information - **Project Name**: dbvisitor - **Description**: dbVisitor 提供了一种统一且简便的方式,可访问多种不同类型的数据库。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: dev - **Homepage**: https://www.dbvisitor.net/ - **GVP Project**: No ## Statistics - **Stars**: 314 - **Forks**: 75 - **Created**: 2021-07-21 - **Last Updated**: 2025-12-11 ## Categories & Tags **Categories**: database-dev **Tags**: None ## README About ------------------------------------
dbVisitor provides a unified, natural way to access many different types of databases.
dbVisitor is built on top of JDBC and refines JDBC's low-level interfaces to provide a more natural API. It mainly consists of the following three parts: - dbvisitor — the core module that provides a unified database access API. - dbvisitor-integration — integration modules that connect dbVisitor with mainstream frameworks. Supports Spring, Spring Boot, Solon, Hasor, Guice, etc. - dbvisitor-adapter — JDBC driver adapters intended to allow databases without a JDBC Driver to be accessed via the JDBC interface. supports [Redis](dbvisitor-adapter/jdbc-redis/README.md) and MongoDB. ## Why use it? When relational databases dominated, data access methods diversified and a large number of mature JDBC-based tools emerged; however, with the rise of non-relational databases, data storage formats have become more varied and access APIs have grown more complex. Developers need to switch between different APIs, which increases the learning curve and the difficulty of use. Existing data access technologies such as Hibernate, MyBatis, Spring JDBC, as well as ActiveRecord, QueryWrapper, Row, Chain, and JPA, are primarily targeted at relational databases and show limitations when confronted with an increasingly diverse set of non-relational stores. The core breakthrough of dbVisitor lies in the seamless integration of access patterns: developers can mix multiple access paradigms within the same project and obtain a unified experience across relational and non-relational storage. With the drivers module, dbVisitor is no longer limited to accessing relational databases via JDBC, but supports non-relational databases such as Redis and MongoDB through adapters. In its design, dbVisitor offers an API style similar to JdbcTemplate and MyBatis, enabling developers to avoid adopting a large number of new concepts and thus reducing the learning curve and usage complexity. ## About dbVisitor - dbVisitor uses the business-friendly [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) license. - dbVisitor only has one dependency, [Cobble](https://gitee.com/zycgit/cobble) (Cobble is a toolkit similar to Apache Commons or Guava). - All dbVisitor modules and their dependencies can be obtained via [Maven Central](https://central.sonatype.com/search?q=dbvisitor). ## JVM Compatibility dbVisitor can run on all Java 8 or higher versions, and all versions are compiled and built using Java 8. ## Support - Spring、SpringBoot、Solon、Hasor、Guice