public class EntityStatements extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
DEFAULT_TABLE_ALIAS |
| 构造器和说明 |
|---|
EntityStatements() |
| 限定符和类型 | 方法和说明 |
|---|---|
static TableAccessible |
asTableAccessible(SqlEntity sqlEntityDeclared)
将SqlEntity转换为TableAccessible对象
|
static SqlNodeBuilder |
buildDelete(Map<String,Object> bindings,
Class<?> entityClass,
String tableAlias,
boolean byId,
String entityKey,
String whereKey,
ColumnPredicate columnPredicate,
boolean logicDeleted)
构建 DELETE 或 UPDATE(逻辑删除时)SQL 语句的 SqlNodeBuilder。
|
static SqlNodeBuilder |
buildDelete(Map<String,Object> bindings,
EntityDelete entityDelete)
构建删除SQL节点构建器
|
static InsertStatement<?> |
buildInsert(Map<String,Object> bindings,
Class<?> entityClass,
String entityKey,
boolean enableReplace,
boolean enableUpdateByDuplicateKey,
ColumnPredicate predicate)
构建插入语句的工厂方法
|
static InsertStatement<?> |
buildInsert(Map<String,Object> bindings,
Class<?> entityClass,
String entityKey,
boolean enableReplace,
boolean enableUpdateByDuplicateKey,
ColumnPredicate columnPredicate)
构建插入语句对象
|
static InsertStatement<?> |
buildInsert(Map<String,Object> bindings,
EntityInsert entityInsert)
构建插入语句的工厂方法
|
static MergeStatement<?> |
buildMerge(Map<String,Object> bindings,
Class<?> entityClass,
String tableAlias,
String entityKey,
boolean updateWhenMatched,
boolean insertWhenNotMatched,
ColumnPredicate predicate)
构建Merge语句对象
|
static MergeStatement<?> |
buildMerge(Map<String,Object> bindings,
Class<?> entityClass,
String tableAlias,
String entityKey,
boolean updateWhenMatched,
boolean insertWhenNotMatched,
ColumnPredicate columnPredicate)
构建MergeStatement对象的工厂方法
|
static MergeStatement<?> |
buildMerge(Map<String,Object> bindings,
EntityMerge entityMerge)
构建合并语句对象
|
static SelectStatement<?> |
buildSelect(Map<String,Object> bindings,
Class<?> entityClass,
String tableAlias,
boolean byId,
String entityKey,
String whereKey,
String orderByKey,
ColumnPredicate columnPredicate,
boolean exceptLogicDeleted)
构建一个 SelectStatement 对象,用于执行数据库查询操作。
|
static SelectStatement<?> |
buildSelect(Map<String,Object> bindings,
EntitySelect entitySelect)
构建SELECT语句对象
|
static SqlNodeBuilder |
buildSqlDelete(Map<String,Object> bindings,
SqlDelete sqlDelete)
构建SQL删除语句的SqlNodeBuilder
|
static InsertStatement<?> |
buildSqlInsert(Map<String,Object> bindings,
SqlInsert sqlInsert)
构建SQL插入语句
|
static Function<Map<String,Object>,SqlNode> |
buildSqlRawFunction(Method method)
构建一个原始 SQL 函数,用于根据方法上的注解生成对应的
SqlNode。 |
static SelectStatement<?> |
buildSqlSelect(Map<String,Object> bindings,
SqlSelect sqlSelect)
构建SQL SELECT语句
|
static Function<Map<String,Object>,SqlNode> |
buildSqlSelectFunction(Method method)
构建SQL查询函数
|
static SetOpsStatement<?> |
buildSqlSelectSet(Map<String,Object> bindings,
SqlSelectSet sqlSelectSet)
根据给定的绑定变量和 SqlSelectSet 构建一个 SetOpsStatement 对象。
|
static UpdateStatement<?> |
buildSqlUpdate(Map<String,Object> bindings,
SqlUpdate sqlUpdate)
构建SQL更新语句
|
static Function<Map<String,Object>,SqlNode> |
buildSqlUpdateFunction(Method method)
根据方法上的注解构建对应的 SQL 更新函数。
|
static UpdateStatement<?> |
buildUpdate(Map<String,Object> bindings,
Class<?> entityClass,
String tableAlias,
boolean byId,
String entityKey,
String whereKey,
ColumnPredicate predicate,
ColumnPredicate wherePredicate)
构建更新语句的静态方法
|
static UpdateStatement<?> |
buildUpdate(Map<String,Object> bindings,
Class<?> entityClass,
String tableAlias,
boolean byId,
String entityKey,
String whereKey,
ColumnPredicate columnPredicate,
ColumnPredicate whereColumnPredicate)
构建更新语句
|
static UpdateStatement<?> |
buildUpdate(Map<String,Object> bindings,
EntityUpdate entityUpdate)
构建更新语句
|
static TableMeta |
getTableMeta(String entityClassName)
根据实体类名称获取对应的表元数据信息
|
public static TableMeta getTableMeta(String entityClassName)
entityClassName - 实体类的全限定名public static TableAccessible asTableAccessible(SqlEntity sqlEntityDeclared)
sqlEntityDeclared - SQL实体声明对象,用于获取表信息和别名信息public static Function<Map<String,Object>,SqlNode> buildSqlUpdateFunction(Method method)
该方法会检查方法上是否存在特定的注解(如 EntityInsert、EntityDelete 等), 并根据找到的第一个匹配注解构建相应的 SQL 语句生成函数。 如果没有找到任何已知注解,则回退到原始 SQL 函数构建逻辑。
method - 要检查和处理的方法对象,不能为 nullpublic static Function<Map<String,Object>,SqlNode> buildSqlSelectFunction(Method method)
method - 方法对象,用于获取注解信息public static Function<Map<String,Object>,SqlNode> buildSqlRawFunction(Method method)
SqlNode。
支持以下几种情况:
SqlRawSimple 注解,则解析其定义的 SQL 文本,并可选地处理表引用。SqlRaw 注解,则使用更复杂的模型构建 SQL 节点。BindingKeys.SQL)。method - 方法对象,应包含 SQL 相关注解SqlNodepublic static InsertStatement<?> buildSqlInsert(Map<String,Object> bindings, SqlInsert sqlInsert)
bindings - 包含绑定值的映射表,用于获取字段的具体值sqlInsert - SQL插入注解,包含表信息、列信息和插入选项public static SqlNodeBuilder buildSqlDelete(Map<String,Object> bindings, SqlDelete sqlDelete)
bindings - 参数绑定映射表,用于存储SQL参数绑定信息sqlDelete - 删除注解对象,包含删除操作的相关配置信息IllegalArgumentException - 当实体类型为空时抛出异常public static UpdateStatement<?> buildSqlUpdate(Map<String,Object> bindings, SqlUpdate sqlUpdate)
bindings - 绑定参数映射,用于获取列更新值和WHERE条件值sqlUpdate - SQL更新注解,包含表信息、列信息和WHERE条件信息public static SetOpsStatement<?> buildSqlSelectSet(Map<String,Object> bindings, SqlSelectSet sqlSelectSet)
bindings - 绑定变量映射,用于条件判断和 SQL 构建sqlSelectSet - 包含多个 SQL 查询项及其条件与操作符的集合定义public static SelectStatement<?> buildSqlSelect(Map<String,Object> bindings, SqlSelect sqlSelect)
bindings - 参数绑定映射,用于替换SQL中的占位符sqlSelect - SQL SELECT语句定义对象public static InsertStatement<?> buildInsert(Map<String,Object> bindings, EntityInsert entityInsert)
bindings - 参数绑定映射表,用于存储列名和对应值的映射关系entityInsert - 实体插入配置对象,包含表名、实体键等插入相关信息public static InsertStatement<?> buildInsert(Map<String,Object> bindings, Class<?> entityClass, String entityKey, boolean enableReplace, boolean enableUpdateByDuplicateKey, ColumnPredicate predicate)
bindings - 参数绑定映射,用于存储列名和对应的值entityClass - 实体类的Class对象,表示要操作的数据库表对应的实体类entityKey - 实体键标识,用于区分不同的实体实例enableReplace - 是否启用替换模式,当为true时允许替换已存在的记录enableUpdateByDuplicateKey - 是否启用重复键更新模式,当为true时在遇到重复键时执行更新操作predicate - 列过滤谓词,用于决定哪些列应该包含在插入语句中public static InsertStatement<?> buildInsert(Map<String,Object> bindings, Class<?> entityClass, String entityKey, boolean enableReplace, boolean enableUpdateByDuplicateKey, ColumnPredicate columnPredicate)
bindings - 参数绑定映射表,用于获取实体对象entityClass - 实体类的Class对象,指定要插入的数据类型entityKey - 实体在bindings中的键名enableReplace - 是否启用替换模式enableUpdateByDuplicateKey - 是否启用重复键更新模式columnPredicate - 列过滤谓词,用于筛选需要处理的列public static SqlNodeBuilder buildDelete(Map<String,Object> bindings, EntityDelete entityDelete)
bindings - 参数绑定映射表,用于存储SQL参数绑定信息entityDelete - 实体删除对象,包含删除操作的相关配置信息public static SqlNodeBuilder buildDelete(Map<String,Object> bindings, Class<?> entityClass, String tableAlias, boolean byId, String entityKey, String whereKey, ColumnPredicate columnPredicate, boolean logicDeleted)
bindings - 参数绑定映射,用于获取实体或条件对象entityClass - 实体类,表示要操作的表对应的 Java 类型tableAlias - 表别名,若为空则使用默认别名byId - 是否根据主键 ID 删除/更新entityKey - 实体参数在 bindings 中的键名whereKey - 条件参数在 bindings 中的键名columnPredicate - 列过滤谓词,决定哪些列参与 WHERE 条件构建logicDeleted - 是否启用逻辑删除模式public static UpdateStatement<?> buildUpdate(Map<String,Object> bindings, EntityUpdate entityUpdate)
bindings - 参数绑定映射表,用于存储SQL参数绑定entityUpdate - 实体更新对象,包含更新操作的相关信息public static UpdateStatement<?> buildUpdate(Map<String,Object> bindings, Class<?> entityClass, String tableAlias, boolean byId, String entityKey, String whereKey, ColumnPredicate predicate, ColumnPredicate wherePredicate)
bindings - 参数绑定映射,用于存储SQL参数值entityClass - 实体类的Class对象,表示要更新的实体类型tableAlias - 表别名,用于在SQL中引用表byId - 是否通过ID进行更新的标识entityKey - 实体键,用于标识实体的主键字段whereKey - 条件键,用于构建WHERE子句的条件字段predicate - 列断言对象,定义更新字段的条件wherePredicate - WHERE子句列断言对象,定义WHERE条件的约束public static UpdateStatement<?> buildUpdate(Map<String,Object> bindings, Class<?> entityClass, String tableAlias, boolean byId, String entityKey, String whereKey, ColumnPredicate columnPredicate, ColumnPredicate whereColumnPredicate)
bindings - 绑定参数映射,用于获取实体和条件数据entityClass - 实体类类型tableAlias - 表别名,如果为null则使用默认别名byId - 是否根据ID更新的标识entityKey - 实体数据在bindings中的键名whereKey - 条件数据在bindings中的键名columnPredicate - 实体列过滤谓词whereColumnPredicate - 条件列过滤谓词public static SelectStatement<?> buildSelect(Map<String,Object> bindings, EntitySelect entitySelect)
bindings - 参数绑定映射表,用于存储查询参数的键值对entitySelect - 实体选择对象,包含查询所需的表信息和条件配置public static SelectStatement<?> buildSelect(Map<String,Object> bindings, Class<?> entityClass, String tableAlias, boolean byId, String entityKey, String whereKey, String orderByKey, ColumnPredicate columnPredicate, boolean exceptLogicDeleted)
bindings - 参数绑定映射,用于获取查询条件、排序等参数entityClass - 实体类,表示查询的目标表对应的实体类型tableAlias - 表别名,用于 SQL 查询中的表引用,默认为 "t"byId - 是否根据主键 ID 查询entityKey - 从 bindings 中获取实体对象的键名(优先作为整体实体条件)whereKey - 从 bindings 中获取 where 条件的键名(可为实体或 Criteria)orderByKey - 从 bindings 中获取排序条件的键名(可为字符串或 OrderBy 对象)columnPredicate - 列谓词过滤器,用于控制哪些字段参与条件构造exceptLogicDeleted - 是否排除逻辑删除的数据public static MergeStatement<?> buildMerge(Map<String,Object> bindings, EntityMerge entityMerge)
bindings - 参数绑定映射表,用于存储SQL参数绑定entityMerge - 实体合并配置对象,包含合并操作的相关配置信息public static MergeStatement<?> buildMerge(Map<String,Object> bindings, Class<?> entityClass, String tableAlias, String entityKey, boolean updateWhenMatched, boolean insertWhenNotMatched, ColumnPredicate predicate)
bindings - 参数绑定映射表,用于存储SQL参数值entityClass - 实体类类型,表示要操作的数据库表对应的实体类tableAlias - 表别名,用于在SQL语句中引用表entityKey - 实体键,用于标识实体的唯一性updateWhenMatched - 当匹配时是否执行更新操作的标志insertWhenNotMatched - 当不匹配时是否执行插入操作的标志predicate - 列谓词注解,用于定义列的过滤条件public static MergeStatement<?> buildMerge(Map<String,Object> bindings, Class<?> entityClass, String tableAlias, String entityKey, boolean updateWhenMatched, boolean insertWhenNotMatched, ColumnPredicate columnPredicate)
bindings - 包含实体数据的绑定映射表entityClass - 实体类的Class对象tableAlias - 表别名,如果为null则使用默认别名entityKey - 实体在bindings中的键名updateWhenMatched - 当匹配时是否执行更新操作insertWhenNotMatched - 当不匹配时是否执行插入操作columnPredicate - 列谓词,用于过滤列操作Copyright © 2025 fossc. All rights reserved.