跳到主要内容

数据源差异

dbVisitor 力争使用统一的 API 来操作所有 关系型数据库非关系型数据库。但实际中数据源由于其本身的特性仍存在一些个体差异。 dbVisitor 对待差异的处理方式主要体现在两个方面:

  • API 支持性,是指被调用的 API 在某数据源上是否支持。
  • 数据库方言,是指在使用 构造器 API 时相同 API 操不同数据库时采用了不同的命令或语法。
特点

您若想改版这些差异,可以参与项目并贡献您的改进代码。

API 支持性

dbVisitor 在统一内核架构下面向使用而设计的 API 主要分为 4 种,编程式 API声明式 API构造器 APIMapper File

对于以 SQL 语言为依托的 关系型数据库,dbVisitor 提供的所有 API 均可使用。在数据库差异细节点上需参考本文 数据库方言 中的描述。

对于 非关系型数据库 通过下列指引可详细了解其中差异:

数据库方言

得益于 SQL 规范标准的统一性,通常绝大部分数据源只要支持 SQL 标准并在提供 JDBC 驱动的情况下都可以正常执行。 下面表表格中罗列了 dbVisitor 内置数据库方言对于 构造器 API 的功能支持性差异。

数据库分页查询冲突策略空值排序策略序列
DB2支持Into
Apache Derby支持Into
达梦支持Into、Ignore(表要有主键)
H2支持Into支持
Hive支持Into
HSQL支持Into
Apache Impala支持Into
IBM Informix支持Into
人大金仓支持Into
MariaDB支持Into
MySQL支持Into、Update、Ignore支持
Oracle支持Into、Update、Ignore(表要有主键)
Phoenix支持Into
PostgreSQL支持Into、Update、Ignore
SQLite支持Into
SQL SERVER支持Into
虚谷数据库支持Into