Skip to content

Latest commit

 

History

History
499 lines (320 loc) · 37.8 KB

API_OVERVIEW.md

File metadata and controls

499 lines (320 loc) · 37.8 KB

API 简介

元数据接口

接口总览与支持情况

接口 Sqlite 达梦(DM) KingBase GBase8a GBase8s GBase8t 神通 (Oscar) Hive Es (jdbc) Hbase (phoenix) Mysql Mariodb OceanBase Mssql Oracle PostgreSQL
测试数据库连接(testConnection)
创建数据库连接(createConnection)
关闭数据库连接(closeConnection)
获取数据库模式名(getSchema) 不涉及 不涉及 不涉及 不涉及 不涉及
获取表名(getTables)
获取视图名(getViews) 不涉及
获取所有函数(getFuncs) 不涉及 不涉及 不涉及 不涉及
获取表元数据(getMetaData) 不涉及
获取表属性(getTableAttribute)
获取主键(getPrimaryKeys) 不涉及 不涉及 不涉及
获取唯一键(getUniqueKeys) 不涉及 不涉及 不涉及
获取索引信息(getIndex) 不涉及 不涉及 不涉及

1、测试数据库连接接口(testConnection)

该接口用于测试与数据库的连接。它接收以下参数:

  • driver:JDBC驱动类的完全限定名。
  • url:数据库的JDBC URL。
  • username:数据库连接的用户名。
  • password:数据库连接的密码。

接口返回一个布尔值,表示连接是否成功(true)或失败(false)。这个函数主要用于验证数据库连接参数的正确性,以确保应用程序能够顺利与数据库进行通信。

2、创建数据库连接接口(createConnection)

该接口根据提供的参数创建一个数据库连接。它接收以下参数:

  • driver:JDBC驱动类的完全限定名。
  • url:数据库的JDBC URL。
  • username:数据库连接的用户名。
  • password:数据库连接的密码。

如果连接成功建立,接口将返回一个Connection对象;否则,返回null。通过此接口,可以方便地根据指定的参数创建与数据库的连接,并用于后续的数据库操作。

3、关闭数据库连接接口(closeConnection)

该接口用于关闭一个已建立的数据库连接。它接收以下参数:

  • connection:需要关闭的Connection对象。
  • dbType:数据库类型(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。

接口返回一个布尔值,表示连接是否成功关闭。通过此接口,可以在完成数据库操作后及时关闭与数据库的连接,以避免资源泄露和其他潜在问题。

4、获取数据库模式名(Schema)接口(getSchema)

该接口用于获取指定数据库类型的所有模式名。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"Mysql"、"DM"、"Oracle"等)。

接口返回一个包含模式名字符串的列表。通过此接口,可以轻松地获取数据库中所有可用的模式名,从而方便地进行数据库表和视图的管理操作。

5、获取指定模式下的所有表名接口(getTables)

该接口用于获取指定数据库模式下的所有表名。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:要获取表名的模式的名称。

接口返回一个包含指定模式下表名的列表。通过此接口,可以轻松地获取数据库模式中所有可用的表名,从而方便地进行数据表的查询和管理操作。

6、获取指定模式下的所有视图名接口(getViews)

该接口用于获取指定数据库模式下的所有视图名。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:要获取视图名的模式的名称。

接口返回一个包含指定模式下视图名的列表。通过此接口,可以轻松地获取数据库模式中所有可用的视图名,从而方便地进行数据视图的查询和管理操作。

7、获取指定模式下的所有函数接口(getFuncs)

该接口用于获取指定数据库模式下的所有函数。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"Mysql"、"DM"、"Hive"等)。
  • schemaName:要获取函数的模式的名称。

接口返回一个包含指定模式下所有函数的DatabaseFunction对象列表。通过此接口,可以轻松地获取数据库模式中所有可用的函数,从而方便地进行数据库函数的查询和管理操作。

8、获取指定模式下的表元数据接口(getMetaData)

该接口用于获取指定数据库模式下的表元数据。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:要获取元数据的模式的名称。

接口返回一个包含指定模式下表元数据的TableMetaData对象列表。通过此接口,可以轻松地获取数据库模式中所有表的元数据,从而方便地进行数据库表结构的查询和管理操作。

9、获取指定表的属性接口(getTableAttribute)

该接口用于获取指定模式下某个表的属性。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:表所在的模式的名称。
  • table:要获取属性的表名。

接口返回一个包含指定表属性的TableAttribute对象列表。通过此接口,可以轻松地获取数据库表的属性,从而方便地进行数据库表结构的查询和管理操作。

10、获取指定数据库表的主键接口(getPrimaryKeys)

该接口用于获取指定模式下某个表的主键。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:指定的模式名称。
  • table:指定的表名称。

接口返回一个字符串的List。通过此接口,可以轻松地获取数据库表的主键信息,从而方便地进行数据库表结构的查询和管理操作。

11、获取指定数据库表的唯一键接口(getUniqueKeys)

该接口用于获取指定模式下某个表的唯一键。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:指定的模式名称。
  • table:指定的表名称。

接口返回一个Map,其中键是唯一键的名称,值是包含唯一键列名的集合。通过此接口,可以轻松地获取数据库表的唯一键信息,从而方便地进行数据库表结构的查询和管理操作。

12、获取指定表的索引信息接口(getIndex)

该接口用于获取给定模式中指定表的索引信息。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:表所在的模式名称。
  • table:要获取索引信息的表名称。

接口返回一个TableIndex对象列表,每个对象包含指定表中一个索引的信息。通过此接口,可以轻松地获取数据库表的索引信息,从而方便地进行数据库表结构的查询和管理操作。

数据处理接口

接口总览与支持情况

接口 Sqlite 达梦(DM) KingBase GBase8a GBase8s GBase8t 神通 (Oscar) Hive Es (jdbc) Hbase (phoenix) Mysql Mariodb OceanBase Mssql Oracle PostgreSQL
执行更新 SQL(executeUpdateSQL) 返回值为0 不涉及
批量执行更新 SQL(executeUpdateSQLBatch) 不支持事务 不支持事务 返回值为0, 且不支持事务 不涉及
执行查询 SQL(executeQuerySQL)
批量执行查询 SQL(executeQuerySQLBatch)
执行通用 SQL(executeSQL) 不涉及
批量执行通用 SQL(executeSQLBatch) 不支持事务 不支持事务 不支持事务 返回值为0, 且不支持事务 不涉及
执行通用 SQL 脚本(executeSQLScript) 不支持事务 不支持事务 不支持事务 更新操作返回0, 且不支持事务 仅支持查询操作
设置自动提交模式(setAutoCommit) 不涉及 不涉及 不涉及 不涉及
提交事务(commit) 不涉及 不涉及 不涉及 不涉及
回滚事务(rollback) 不涉及 不涉及 不涉及 不涉及
获取表格或视图数据(getTableOrViewData)
带分页的数据获取接口(getDataWithPage) 不支持
执行数据库函数(executeFunction) 不涉及 不涉及 不涉及 不涉及

1、执行更新 SQL 接口(executeUpdateSQL)

该接口用于使用提供的数据库连接执行给定的更新 SQL 语句。它接收以下参数:

  • connection:一个表示与数据库的连接的java.sql.Connection对象。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sql:要执行的 SQL 查询字符串。

接口返回一个整数,表示受查询影响的行数。通过此接口,可以方便地执行更新、插入或删除操作,并获取受操作影响的记录数量,从而方便地进行数据库表内容的管理操作。

2、批量执行更新 SQL 接口(executeUpdateSQLBatch)

该接口用于执行一批更新 SQL 语句,并返回成功更新的记录数。它接收以下参数:

  • connection:用于执行批量更新的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sqlList:要执行的更新 SQL 语句列表。

接口返回一个整数,表示成功更新的记录数。通过此接口,可以批量执行更新、插入或删除操作,并获取成功更新的记录数量,从而提高数据库表内容管理操作的效率。

3、执行查询 SQL 并返回结果接口(executeQuerySQL)

该接口用于执行 SQL 查询,并将结果返回为一个由映射组成的列表。它接收以下参数:

  • connection:用于执行查询的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sql:要执行的 SQL 查询字符串(String)。

接口返回一个列表,其中每个映射表示查询结果中的一行,键为列名,值为相应的数据。通过此接口,可以方便地执行查询操作,并将结果处理为易于操作和使用的数据结构。

4、批量执行查询 SQL 并返回结果接口(executeQuerySQLBatch)

该接口用于批量执行 SQL 查询,并将结果返回为一个由列表组成的列表,每个列表由映射组成。它接收以下参数:

  • connection:用于执行查询的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sqlList:要执行的 SQL 查询字符串列表。

接口返回一个列表,其中每个内部列表表示一个查询结果,每个映射表示结果集中的一行,键为列名,值为相应的数据。通过此接口,可以方便地批量执行查询操作,并将结果处理为易于操作和使用的数据结构。

5、执行通用 SQL 并返回结果接口(executeSQL)

该接口用于执行 SQL 查询,并将结果返回为一个由映射组成的列表。它接收以下参数:

  • connection:用于执行sql的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sql:要执行的查询或更新 SQL 字符串,(String)。

若无法确定 SQL 语句的类型,可使用此接口。接口返回一个列表,其中每个映射表示查询或更新结果中的一行,键为列名,值为相应的数据;对于更新操作,返回的列表中只包含一个键值对,键为"rows",值为受影响的记录数。

6、批量执行通用 SQL 并返回结果接口(executeSQLBatch)

该接口用于批量执行 SQL 查询,并将结果返回为一个由映射组成的列表。它接收以下参数:

  • connection:用于执行sql的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sqlList:要执行的查询或更新 SQL 字符串列表。

接口返回一个列表,其中每个内部列表表示一个查询或更新的结果,每个映射表示结果集中的一行,键为列名,值为相应的数据。对于更新操作,返回的列表中只包含一个键值对,键为"rows",值为受影响的记录数。 是 executeSQL 的批量执行接口,默认支持事务执行。

7、执行通用 SQL 脚本并返回结果接口(executeSQLScript)

该接口用于执行 SQL 查询,并将结果返回为一个由映射组成的列表。它接收以下参数:

  • connection:用于执行sql的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • sqlScript:要执行的查询或更新 SQL 脚本,可包含多条 SQL 语句,以分号";"分隔。

接口返回一个列表,其中每个内部列表表示一个查询或更新的结果,每个映射表示结果集中的一行,键为列名,值为相应的数据。对于更新操作,返回的列表中只包含一个键值对,键为"rows",值为受影响的记录数。 通过此接口,可以方便地执行以分号分隔的 SQL 脚本,默认支持事务执行。

8、设置自动提交模式接口(setAutoCommit)

该接口用于设置给定数据库连接的自动提交模式。它接收以下参数:

  • connection:需要设置自动提交模式的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"等)。
  • autoCommit:要为连接设置的自动提交模式(布尔值)。

接口返回一个布尔值,如果自动提交模式成功设置,则返回 true,否则返回 false。通过此接口,可以控制数据库连接是否在每次执行操作后自动提交事务,以便根据应用程序需求进行调整。

9、提交事务接口(commit)

该接口用于提交给定数据库连接上的事务。它接收以下参数:

  • connection:正在执行事务的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"等)。

接口返回一个布尔值,如果事务成功提交,则返回 true,否则返回 false。通过此接口,可以在执行批量操作或需要保证数据一致性的操作时,确保事务得到正确提交。

10、回滚事务接口(rollback)

该接口用于回滚给定数据库连接上的事务。它接收以下参数:

  • connection:正在执行事务的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"等)。

接口返回一个布尔值,如果事务成功回滚,则返回 true,否则返回 false。通过此接口,可以在事务执行过程中遇到错误时撤销之前的操作,以确保数据库数据的一致性。

11、获取表格或视图数据接口(getTableOrViewData)

该接口用于从给定数据库连接的指定表格或视图中获取数据。它接收以下参数:

  • connection:要从中获取数据的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:表格所在的模式名。
  • name:要获取数据的表格或视图的名称。

接口返回一个包含表格或视图数据的 Map 列表,其中每个 Map 代表一行,列名作为键。通过此接口,可以方便地从数据库中的表格或视图获取数据,用于分析和处理。

12、带分页的数据获取接口(getDataWithPage)

该接口从数据库中获取表或视图数据,支持分页与列选择。它接收以下参数:

  • connection:要从中获取数据的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。
  • schemaName:表格所在的模式名。
  • tableName:要获取数据的表格或视图的名称。
  • columnList:要选择列的列表。如果为空或者没有元素,则选择所有列。
  • pageOffset:分页的偏移量。如果小于或等于0,则返回所有数据,不进行分页。
  • pageSize:每页大小。如果小于或等于0,则返回所有数据,不进行分页。

接口返回一个 Map 对象,包含了 'results' 中获取到的数据以及 'totalPages' 中的数据总页数。通过此接口,可以从数据库中以分页的方式获取表格或视图获取数据,便于处理大数据量的表格或视图。

13、执行数据库函数接口(executeFunction)

该接口用于在给定数据库连接上执行指定的数据库函数,并传入指定的参数。它接收以下参数:

  • connection:用于执行函数的数据库连接(java.sql.Connection)。
  • dbType:表示数据库类型的字符串(例如,"Mysql"、"DM"、"Oracle"等)。
  • schemaName:表格所在的模式名。
  • functionName:要执行的函数的名称。
  • params:传递给函数的参数列表。

接口返回一个包含函数结果的 Map 列表,其中每个 Map 代表一行,列名作为键。通过此接口,可以方便地在数据库中执行复杂的计算和操作,并获取结果用于进一步分析和处理。

敏感数据处理接口

接口总览与支持情况

接口 Sqlite 达梦(DM) KingBase GBase8a GBase8s GBase8t 神通 (Oscar) Hive Es (jdbc) Hbase (phoenix) Mysql Mariodb OceanBase Mssql Oracle PostgreSQL
数据遮掩接口(mask)
数据截取接口 (truncate)
正则替换接口 (replaceWithRegex)
数据泛化接口 (generalize)
数据加噪接口 (addNoise)
通用脱敏接口 (doObfuscation)
带脱敏的表或视图数据获取接口 (getDataWithMask)
带脱敏的数据分页获取接口 (getDataWithPageAndMask) 不支持
带脱敏的 SQL 查询接口 (execQuerySQLWithMask)
带脱敏的 SQL 脚本执行接口 (execSQLScriptWithMask) 不支持事务 不支持事务 不支持事务 更新操作返回0, 且不支持事务 仅支持查询操作
敏感数据扫描接口 (scanTableData)

1、数据遮掩接口(mask)

该接口用于将输入字符串的一部分替换为指定的遮罩字符。它接收以下参数:

  • input:要进行遮罩处理的输入字符串。
  • start:遮罩部分的起始索引(包含)。
  • end:遮罩部分的结束索引(不包含)。
  • maskChar:用于遮罩输入字符串的字符。

接口返回一个经过遮罩处理的字符串,指定部分被遮罩字符替换。通过此接口,可以在处理敏感信息时保护用户隐私,例如对手机号、邮箱地址、身份证号等数据进行遮罩处理。

2、数据截取接口 (truncate)

该接口用于将输入字符串进行截取,返回一个原始字符串的子字符串。它接收以下参数:

  • input:要进行截取处理的输入字符串。
  • start:子字符串的起始索引(包含)。
  • end:子字符串的结束索引(不包含)。

接口返回一个从输入字符串中提取的子字符串,如果索引无效,则返回原始字符串。通过此接口,可以方便地从原始字符串中提取出指定部分的内容,例如从复杂文本中截取指定长度的摘要等。

3、正则替换接口 (replaceWithRegex)

该接口用于使用给定的替换字符串替换输入字符串中匹配给定正则表达式模式的所有出现。它接收以下参数:

  • input:要进行处理的输入字符串。
  • regex:要匹配的正则表达式模式。
  • replacement:用于替换每个匹配项的替换字符串。

接口返回一个结果字符串,其中所有匹配的出现都被给定的替换字符串替换。通过此接口,可以方便地在字符串中查找和替换满足特定模式的内容,例如替换电话号码、邮箱地址等敏感信息。

4、数据泛化接口 (generalize)

该接口用于将一个整数值泛化为一个范围。它接收以下参数:

  • data:要泛化的整数值。
  • range:泛化的范围大小。

接口返回一个表示泛化范围的字符串,格式为 "lowerBound-upperBound"。通过此接口,可以方便地对整数数据进行分组和泛化,例如将年龄数据分组到指定范围,以便在不暴露具体值的情况下进行分析。

5、数据加噪接口 (addNoise)

该接口用于在给定的噪声范围内为原始值添加随机噪声。它接收以下参数:

  • originalValue:要添加噪声的原始双精度浮点值。
  • noiseRange:要添加的随机噪声范围。实际添加的噪声将介于 -noiseRange/2 和 +noiseRange/2 之间。

接口返回一个双精度浮点值,该值在指定的噪声范围内添加了噪声。通过此接口,可以在数据处理过程中为数值添加一定程度的随机噪声,从而提高数据的隐私性。

6、通用脱敏接口 (doObfuscation)

该接口根据提供的脱敏规则对数据进行脱敏处理。接收以下参数:

  • data:要脱敏处理的数据。
  • obfuscationRule:要应用的脱敏处理规则。

该接口返回经过脱敏处理的数据。根据 obfuscationRule 中指定的 ObfuscationMethod 类型,该接口将调用相应的方法进行数据脱敏处理。这可以确保根据特定的规则对敏感数据进行适当的处理,以保护数据隐私。

7、带脱敏的表或视图数据获取接口 (getDataWithMask)

该接口从数据库获取表或视图数据,并对指定列应用脱敏规则。接收以下参数:

  • connection:数据库连接对象。
  • dbType:数据库类型(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。。
  • schemaName:表所在的schema名称。
  • name:表或视图的名称。
  • obfuscationRules:一个映射,其中键是列名,值是要应用于该列的 ObfuscationRule 对象。

该接口返回一个列表,列表中的每个映射表示表或视图的一行,其中指定的脱敏规则已被应用。

8、带脱敏的数据分页获取接口 (getDataWithPageAndMask)

该接口从数据库中获取表或视图数据,支持分页与列选择,并对指定列应用脱敏规则。接收以下参数:

  • connection:数据库连接对象。
  • dbType:数据库类型(例如,"SQLite"、"Mysql"、"DM"、"Hive"等)。。
  • schemaName:表所在的schema名称。
  • tableName:表或视图的名称。
  • columnList:要选择列的列表。如果为空或者没有元素,则选择所有列。
  • pageOffset:分页的偏移量。如果小于或等于0,则返回所有数据,不进行分页。
  • pageSize:每页大小。如果小于或等于0,则返回所有数据,不进行分页。
  • obfuscationRules:一个映射,其中键是列名,值是要应用于该列的 ObfuscationRule 对象。

接口返回一个 Map 对象,包含了 'results' 中获取到的数据以及 'totalPages' 中的数据总页数。其中'results' 的数据,会依据指定脱敏规则进行脱敏。 通过此接口,可以从数据库中以分页的方式获取脱敏后的表格或视图获取数据,便于处理大数据量的表格或视图。

9、带脱敏的 SQL 查询接口 (execQuerySQLWithMask)

此接口用于执行SQL查询并将结果返回为列表,同时将指定列应用脱敏规则。接收以下参数:

  • connection:用于执行查询的数据库连接(java.sql.Connection)。
  • dbType:数据库类型(例如 "sqlite","mysql" 等)。
  • sql:要执行的SQL查询字符串(String)。
  • obfuscationRules:一个映射,其中键是列名,值是要应用于该列的 ObfuscationRule 对象。

该接口返回一个列表,其中每个映射表示查询结果中的一行,键是列名,值是相应的脱敏后数据。

10、带脱敏的 SQL 脚本执行接口 (execSQLScriptWithMask)

此接口用于执行SQL脚本并将结果返回为列表,同时将指定列应用脱敏规则。接收以下参数:

  • connection:用于执行查询的数据库连接(java.sql.Connection)。
  • dbType:数据库类型(例如 "sqlite","mysql" 等)。
  • sqlScript:要执行的SQL脚本字符串(String),可包含多条 SQL 语句,以分号";"分隔。。
  • obfuscationRules:一个映射,其中键是列名,值是要应用于该列的 ObfuscationRule 对象。

该接口返回一个列表,其中每个映射表示查询结果中的一行,键是列名,值是相应的脱敏后数据。

11、敏感数据扫描接口 (scanTableData)

该接口基于一组正则表达式扫描数据库表或视图中的敏感数据。接收以下参数:

  • connection:数据库的 SQL 连接。
  • dbType:数据库类型(如:SQLite、MySQL、PostgreSQL)。
  • schemaName:表所在的 schema 名称。
  • tableName:要扫描的表或视图的名称。
  • regexList:用于匹配敏感数据的正则表达式列表。

该接口返回一个 SensitiveColumn 实例列表,其中包含匹配到的敏感数据。仅返回实际匹配到敏感数据的列。对于每个 SensitiveColumn,最多 5 个(可配置)匹配的数据将存储在 matchData 属性中。

SQL 生成接口

接口总览与支持情况

接口 Sqlite 达梦(DM) KingBase GBase8a GBase8s GBase8t 神通 (Oscar) Hive Es (jdbc) Hbase (phoenix) Mysql Mariodb OceanBase Mssql Oracle PostgreSQL
生成插入数据 SQL(generateInsertSql) 不涉及
生成更新数据 SQL(generateUpdateSql) 不支持 不涉及
生成删除数据 SQL(generateDeleteSql) 不支持 不涉及

1、生成插入数据 SQL (generateInsertSql)

该接口基于给定的数据生成 SQL 插入语句。接收以下参数:

  • connection:数据库的 SQL 连接。
  • dbType:数据库类型(如:SQLite、MySQL、PostgreSQL)。
  • schemaName:表所在的 schema 名称。
  • tableName:要插入数据的表名称。
  • data:要插入的数据,以一个包含列名和对应值的映射形式呈现。

该接口返回一个代表 SQL 插入语句的字符串。如果提供的数据为空,或者表名、数据库连接或数据库类型为空,则会抛出 IllegalArgumentException 异常。 此外,如果在执行与数据库相关的操作时遇到任何错误,它还会抛出 SQLException 异常。通过该接口,开发者可以方便地为特定数据库生成 SQL 插入语句,无需关心不同数据库之间的 SQL 语法差异,从而大大提升代码的可复用性和维护性。

2、生成更新数据 SQL (generateUpdateSql)

该接口基于给定的数据生成 SQL 更新语句。接收以下参数:

  • connection:已激活的数据库 SQL 连接。
  • dbType:数据库类型,例如:"MySQL"、"PostgreSQL"。
  • schemaName:表所在的 schema 名称。
  • tableName:要更新数据的表名称。
  • setData:表示要更新的列及其对应值的键值对。
  • condition:确定将更新哪些行的条件。
  • filteredByUniqueKey:标志指示是否根据唯一键筛选条件。

该接口返回一个代表 SQL 更新语句的字符串。如果提供的数据为空,或者表名、数据库连接或数据库类型为空,则会抛出 IllegalArgumentException 异常。此外,如果在执行与数据库相关的操作时遇到任何错误,它还会抛出 SQLException 异常。通过此接口,开发者可以轻松地为特定的数据库生成 SQL 更新语句,而无需担心不同数据库之间的 SQL 语法差异,从而极大地提高代码的可复用性和维护性。

3、生成删除数据 SQL (generateDeleteSql)

该接口基于给定的条件生成 SQL 删除语句。接收以下参数:

  • connection:数据库的 SQL 连接。
  • dbType:数据库类型(如:SQLite、MySQL、PostgreSQL)。
  • schemaName:表所在的 schema 名称。
  • tableName:要删除数据的表名称。
  • condition:删除数据所需满足的条件,以一个包含列名和对应值的映射形式呈现。
  • filteredByUniqueKey:如果设置为 true,则删除条件会被筛选,只保留唯一键作为条件。

该接口返回一个代表 SQL 删除语句的字符串。如果提供的条件、表名、数据库连接或数据库类型为空,则会抛出 IllegalArgumentException 异常。此外,如果在执行与数据库相关的操作时遇到任何错误,它还会抛出 SQLException 异常。通过该接口,开发者可以方便地为特定数据库生成 SQL 删除语句,无需关心不同数据库之间的 SQL 语法差异,从而大大提升代码的可复用性和维护性。