public class DialectUtils extends Object
| Constructor and Description |
|---|
DialectUtils() |
| Modifier and Type | Method and Description |
|---|---|
static String |
forColumns(String columns) |
static void |
forDbDelete(String tableName,
String[] pKeys,
Row record,
StringBuilder sql,
List<Object> paras) |
static String |
forDbFindColumns(String tableName,
String columns) |
static String |
forDbFindColumnsById(String tableName,
String columns,
String[] pKeys) |
static StringBuilder |
forDbFindColumnsSql(String tableName,
String columns) |
static String |
forExistsByFields(String tableName,
String fields) |
static void |
trimPrimaryKeys(String[] pKeys)
一、forDbXxx 系列方法中若有如下两种情况之一,则需要调用此方法对 pKeys 数组进行 trim():
1:方法中调用了 isPrimaryKey(...):为了防止在主键相同情况下,由于前后空串造成 isPrimaryKey 返回 false
2:为了防止 tableName、colName 与数据库保留字冲突的,添加了包裹字符的:为了防止串包裹区内存在空串
如 mysql 使用的 "`" 字符以及 PostgreSql 使用的 "\"" 字符
不满足以上两个条件之一的 forDbXxx 系列方法也可以使用 trimPrimaryKeys(...) 方法让 sql 更加美观,但不是必须
二、forModelXxx 由于在映射时已经trim(),故不再需要调用此方法
|
public static void trimPrimaryKeys(String[] pKeys)
public static String forDbFindColumnsById(String tableName, String columns, String[] pKeys)
public static StringBuilder forDbFindColumnsSql(String tableName, String columns)
public static void forDbDelete(String tableName, String[] pKeys, Row record, StringBuilder sql, List<Object> paras)
Copyright © 2025. All rights reserved.