mirror of
https://gitee.com/dromara/hutool.git
synced 2025-08-20 09:28:59 +08:00
Compare commits
2 Commits
60b80340fc
...
4d0074e6a6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d0074e6a6 | ||
|
|
707daa94f7 |
@ -24,6 +24,7 @@ import cn.hutool.v7.db.dialect.DialectName;
|
|||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
import cn.hutool.v7.db.sql.StatementUtil;
|
import cn.hutool.v7.db.sql.StatementUtil;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -35,6 +36,7 @@ import java.util.List;
|
|||||||
* @author wb04307201
|
* @author wb04307201
|
||||||
*/
|
*/
|
||||||
public class DmDialect extends AnsiSqlDialect {
|
public class DmDialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 3415348435502927423L;
|
private static final long serialVersionUID = 3415348435502927423L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,7 +80,7 @@ public class DmDialect extends AnsiSqlDialect {
|
|||||||
// 构建字段部分和参数占位符部分
|
// 构建字段部分和参数占位符部分
|
||||||
entity.forEach((field, value) -> {
|
entity.forEach((field, value) -> {
|
||||||
if (StrUtil.isNotBlank(field) && keyList.contains(field)) {
|
if (StrUtil.isNotBlank(field) && keyList.contains(field)) {
|
||||||
if (keyFieldsPart.length() > 0) {
|
if (!keyFieldsPart.isEmpty()) {
|
||||||
keyFieldsPart.append(" and ");
|
keyFieldsPart.append(" and ");
|
||||||
}
|
}
|
||||||
keyFieldsPart.append(field).append("= ?");
|
keyFieldsPart.append(field).append("= ?");
|
||||||
@ -88,7 +90,7 @@ public class DmDialect extends AnsiSqlDialect {
|
|||||||
|
|
||||||
entity.forEach((field, value) -> {
|
entity.forEach((field, value) -> {
|
||||||
if (StrUtil.isNotBlank(field) && !keyList.contains(field)) {
|
if (StrUtil.isNotBlank(field) && !keyList.contains(field)) {
|
||||||
if (updateFieldsPart.length() > 0) {
|
if (!updateFieldsPart.isEmpty()) {
|
||||||
// 非第一个参数,追加逗号
|
// 非第一个参数,追加逗号
|
||||||
updateFieldsPart.append(", ");
|
updateFieldsPart.append(", ");
|
||||||
}
|
}
|
||||||
@ -99,7 +101,7 @@ public class DmDialect extends AnsiSqlDialect {
|
|||||||
|
|
||||||
entity.forEach((field, value) -> {
|
entity.forEach((field, value) -> {
|
||||||
if (StrUtil.isNotBlank(field)) {
|
if (StrUtil.isNotBlank(field)) {
|
||||||
if (insertFieldsPart.length() > 0) {
|
if (!insertFieldsPart.isEmpty()) {
|
||||||
// 非第一个参数,追加逗号
|
// 非第一个参数,追加逗号
|
||||||
insertFieldsPart.append(", ");
|
insertFieldsPart.append(", ");
|
||||||
insertPlaceHolder.append(", ");
|
insertPlaceHolder.append(", ");
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import cn.hutool.v7.db.config.DbConfig;
|
|||||||
import cn.hutool.v7.db.dialect.DialectName;
|
import cn.hutool.v7.db.dialect.DialectName;
|
||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
|
|
||||||
@ -35,6 +36,7 @@ import java.sql.PreparedStatement;
|
|||||||
* @author loolly
|
* @author loolly
|
||||||
*/
|
*/
|
||||||
public class H2Dialect extends AnsiSqlDialect {
|
public class H2Dialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 1490520247974768214L;
|
private static final long serialVersionUID = 1490520247974768214L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,7 +72,7 @@ public class H2Dialect extends AnsiSqlDialect {
|
|||||||
// 构建字段部分和参数占位符部分
|
// 构建字段部分和参数占位符部分
|
||||||
entity.forEach((field, value) -> {
|
entity.forEach((field, value) -> {
|
||||||
if (StrUtil.isNotBlank(field)) {
|
if (StrUtil.isNotBlank(field)) {
|
||||||
if (fieldsPart.length() > 0) {
|
if (!fieldsPart.isEmpty()) {
|
||||||
// 非第一个参数,追加逗号
|
// 非第一个参数,追加逗号
|
||||||
fieldsPart.append(", ");
|
fieldsPart.append(", ");
|
||||||
placeHolder.append(", ");
|
placeHolder.append(", ");
|
||||||
|
|||||||
@ -25,6 +25,7 @@ import cn.hutool.v7.db.sql.QuoteWrapper;
|
|||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
import cn.hutool.v7.db.sql.StatementUtil;
|
import cn.hutool.v7.db.sql.StatementUtil;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -37,6 +38,7 @@ import java.util.List;
|
|||||||
* @author daoyou.dev
|
* @author daoyou.dev
|
||||||
*/
|
*/
|
||||||
public class HanaDialect extends AnsiSqlDialect {
|
public class HanaDialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -23,12 +23,15 @@ import cn.hutool.v7.db.config.DbConfig;
|
|||||||
import cn.hutool.v7.db.dialect.DialectName;
|
import cn.hutool.v7.db.dialect.DialectName;
|
||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Oracle 方言
|
* Oracle 方言
|
||||||
*
|
*
|
||||||
* @author loolly
|
* @author loolly
|
||||||
*/
|
*/
|
||||||
public class OracleDialect extends AnsiSqlDialect {
|
public class OracleDialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 6122761762247483015L;
|
private static final long serialVersionUID = 6122761762247483015L;
|
||||||
|
|
||||||
private static final String DEFAULT_TABLE_ALIAS = "table_alias_";
|
private static final String DEFAULT_TABLE_ALIAS = "table_alias_";
|
||||||
|
|||||||
@ -22,6 +22,7 @@ import cn.hutool.v7.db.config.DbConfig;
|
|||||||
import cn.hutool.v7.db.dialect.DialectName;
|
import cn.hutool.v7.db.dialect.DialectName;
|
||||||
import cn.hutool.v7.db.sql.Query;
|
import cn.hutool.v7.db.sql.Query;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
|
|
||||||
@ -32,6 +33,7 @@ import java.sql.PreparedStatement;
|
|||||||
* @since 5.7.2
|
* @since 5.7.2
|
||||||
*/
|
*/
|
||||||
public class PhoenixDialect extends AnsiSqlDialect {
|
public class PhoenixDialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import cn.hutool.v7.db.dialect.DialectName;
|
|||||||
import cn.hutool.v7.db.sql.QuoteWrapper;
|
import cn.hutool.v7.db.sql.QuoteWrapper;
|
||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
|
|
||||||
@ -37,6 +38,7 @@ import java.sql.PreparedStatement;
|
|||||||
* @author loolly
|
* @author loolly
|
||||||
*/
|
*/
|
||||||
public class PostgresqlDialect extends AnsiSqlDialect {
|
public class PostgresqlDialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 3889210427543389642L;
|
private static final long serialVersionUID = 3889210427543389642L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -66,7 +68,7 @@ public class PostgresqlDialect extends AnsiSqlDialect {
|
|||||||
// 构建字段部分和参数占位符部分
|
// 构建字段部分和参数占位符部分
|
||||||
entity.forEach((field, value) -> {
|
entity.forEach((field, value) -> {
|
||||||
if (StrUtil.isNotBlank(field)) {
|
if (StrUtil.isNotBlank(field)) {
|
||||||
if (fieldsPart.length() > 0) {
|
if (!fieldsPart.isEmpty()) {
|
||||||
// 非第一个参数,追加逗号
|
// 非第一个参数,追加逗号
|
||||||
fieldsPart.append(", ");
|
fieldsPart.append(", ");
|
||||||
placeHolder.append(", ");
|
placeHolder.append(", ");
|
||||||
|
|||||||
@ -24,6 +24,8 @@ import cn.hutool.v7.db.dialect.DialectName;
|
|||||||
import cn.hutool.v7.db.sql.QuoteWrapper;
|
import cn.hutool.v7.db.sql.QuoteWrapper;
|
||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SQLServer2005-2008方言实现<br>
|
* SQLServer2005-2008方言实现<br>
|
||||||
* 参考:jdbc-plus
|
* 参考:jdbc-plus
|
||||||
@ -31,6 +33,7 @@ import cn.hutool.v7.db.sql.SqlBuilder;
|
|||||||
* @author niliwei, Looly
|
* @author niliwei, Looly
|
||||||
*/
|
*/
|
||||||
public class SqlServer2005Dialect extends AnsiSqlDialect {
|
public class SqlServer2005Dialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
private static final String DEFAULT_TABLE_ALIAS = "table_alias_";
|
private static final String DEFAULT_TABLE_ALIAS = "table_alias_";
|
||||||
|
|||||||
@ -23,12 +23,15 @@ import cn.hutool.v7.db.dialect.DialectName;
|
|||||||
import cn.hutool.v7.db.sql.SqlBuilder;
|
import cn.hutool.v7.db.sql.SqlBuilder;
|
||||||
import cn.hutool.v7.db.sql.QuoteWrapper;
|
import cn.hutool.v7.db.sql.QuoteWrapper;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SQLServer2012 方言
|
* SQLServer2012 方言
|
||||||
*
|
*
|
||||||
* @author Looly
|
* @author Looly
|
||||||
*/
|
*/
|
||||||
public class SqlServer2012Dialect extends AnsiSqlDialect {
|
public class SqlServer2012Dialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = -37598166015777797L;
|
private static final long serialVersionUID = -37598166015777797L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -20,12 +20,15 @@ import cn.hutool.v7.db.config.DbConfig;
|
|||||||
import cn.hutool.v7.db.dialect.DialectName;
|
import cn.hutool.v7.db.dialect.DialectName;
|
||||||
import cn.hutool.v7.db.sql.QuoteWrapper;
|
import cn.hutool.v7.db.sql.QuoteWrapper;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* SqlLite3方言
|
* SqlLite3方言
|
||||||
*
|
*
|
||||||
* @author Looly
|
* @author Looly
|
||||||
*/
|
*/
|
||||||
public class Sqlite3Dialect extends AnsiSqlDialect {
|
public class Sqlite3Dialect extends AnsiSqlDialect {
|
||||||
|
@Serial
|
||||||
private static final long serialVersionUID = -3527642408849291634L;
|
private static final long serialVersionUID = -3527642408849291634L;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -108,6 +108,8 @@ public class DriverIdentifier implements DriverNames {
|
|||||||
new StartsWithDriverMatcher(DRIVER_KINGBASE8, "jdbc:kingbase8:"),
|
new StartsWithDriverMatcher(DRIVER_KINGBASE8, "jdbc:kingbase8:"),
|
||||||
// 南大通用
|
// 南大通用
|
||||||
new StartsWithDriverMatcher(DRIVER_GBASE, "jdbc:gbase:"),
|
new StartsWithDriverMatcher(DRIVER_GBASE, "jdbc:gbase:"),
|
||||||
|
// 南大通用8s
|
||||||
|
new StartsWithDriverMatcher(DRIVER_GBASE8S, "jdbc:gbasedbt-sqli:"),
|
||||||
// 虚谷
|
// 虚谷
|
||||||
new StartsWithDriverMatcher(DRIVER_XUGU, "jdbc:xugu:"),
|
new StartsWithDriverMatcher(DRIVER_XUGU, "jdbc:xugu:"),
|
||||||
// 神通
|
// 神通
|
||||||
|
|||||||
@ -128,6 +128,11 @@ public interface DriverNames {
|
|||||||
* JDBC 驱动 南大通用
|
* JDBC 驱动 南大通用
|
||||||
*/
|
*/
|
||||||
String DRIVER_GBASE = "com.gbase.jdbc.Driver";
|
String DRIVER_GBASE = "com.gbase.jdbc.Driver";
|
||||||
|
/**
|
||||||
|
* JDBC 驱动 南大通用8S<br>
|
||||||
|
* 见:https://www.gbase.cn/community/post/4029
|
||||||
|
*/
|
||||||
|
String DRIVER_GBASE8S = "com.gbasedbt.jdbc.Driver";
|
||||||
/**
|
/**
|
||||||
* JDBC 驱动 神州数据库
|
* JDBC 驱动 神州数据库
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user