
dbVisitor 是一个用于统一访问多种类型数据库的 Java 数据库操作框架,致力于让数据读写更直观、自然。它基于 JDBC 构建,对原始 JDBC 的底层接口进行了优化与封装,提供了更高层次的易用 API。整个项目由三大核心模块构成:
在传统以关系型数据库为主的时代,已有众多成熟的基于 JDBC 的数据访问工具;然而,随着 Redis、MongoDB 等非关系型数据库广泛应用,数据存储形态日益多样化,对应的访问方式也愈加复杂。开发者常常需要在不同类型的数据库间切换,使用不同的 SDK 和编程范式,导致学习成本上升、代码风格割裂。
而现有的主流 ORM 或访问框架(如 Hibernate、MyBatis、JPA、Spring JDBC Template 等)大多聚焦于关系型数据库,在面对 NoSQL 存储时往往束手无策或需额外封装。dbVisitor 正是为此痛点而生——它通过统一的访问模型,实现了关系型与非关系型数据库的无缝融合。
其关键创新在于:借助驱动适配机制,dbVisitor 将 Redis、MongoDB 等非关系型数据库纳入 JDBC 体系,使开发者可以像操作传统数据库一样使用标准 JDBC 接口进行操作,从而消除多数据源之间的技术鸿沟,实现一致的编码体验。
Connection、Statement、PreparedStatement、ResultSet 等。?,可通过 PreparedStatement 动态设置参数值。Statement 的 maxRows、fetchSize、timeoutSec 等行为属性。LONG 类型时,允许调用 getInt() 或 getString() 获取值。BLOB、CLOB、NCLOB 方式读取二进制或大文本数据。jdbc-redis 模块采用适配器设计模式,将标准 JDBC 调用映射到 Redis 原生命令体系。主要组成部分如下:
Connection 接口,负责连接管理及命令调度,是适配层的核心入口。Connection 并创建 Statement。JedisConn 接收,交由 ANTLR4 解析器进行语法分析。JedisCmd,由底层 Jedis 客户端实际执行。ResultSet 或影响行数,返回至调用方。使用标准 JDBC URL 连接 Redis 实例:
String url = "jdbc:dbvisitor:jedis://server:port?database=0¶m1=value1¶m2=value2";
Properties props = new Properties();
props.setProperty("username", "user");
props.setProperty("password", "pass");
Connection conn = DriverManager.getConnection(url, props);详细驱动参数请参考文档。
// 创建连接
Connection conn = DriverManager.getConnection("jdbc:dbvisitor:jedis://localhost:6379");
// 执行命令
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SET mykey hello");
// 处理结果
rs = stmt.executeQuery("GET mykey");
if (rs.next()) {
System.out.println(rs.getString(1)); // 输出: hello
}
// 参数化查询
PreparedStatement pstmt = conn.prepareStatement("HSET ? ? ?");
pstmt.setString(1, "myhash");
pstmt.setString(2, "field1");
pstmt.setString(3, "value1");
ResultSet rs = pstmt.executeQuery();源码地址:点击下载
以上就是dbVisitor v6.1.0 发布,新增 Redis JDBC 驱动适配器,支持 140+ 命令的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号