public class PatternExpression extends BaseExpression
该类支持两种类型的占位符:
1. 变量占位符:#{varName} 或 ${varName},用于绑定参数值
2. SQL块引用占位符:${ref} 或 ${refN} (N为数字),用于动态插入SQL引用块, ref0等同于ref,表示基础引入块,通常是主列名或表达式
| 限定符和类型 | 字段和说明 |
|---|---|
static Pattern |
REF_PATTERN
SQL块引用模式,匹配ref或ref加数字的格式
|
static String |
REF_PREFIX
SQL块引用前缀
|
| 构造器和说明 |
|---|
PatternExpression(String pattern)
构造一个新的PatternExpression实例
解析给定的SQL模式字符串,提取变量占位符和SQL块引用,并构建内部结构以支持后续的绑定操作
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected FunctionWithArgs3<SqlNode,SqlNode[],Object[],ContainerNode> |
buildArrayFunction()
构建使用数组参数的绑定函数
|
protected FunctionWithArgs3<SqlNode,SqlNode[],Map<String,Object>,ContainerNode> |
buildMapFunction()
构建使用Map参数的绑定函数
|
protected ContainerNode |
createPatternSqlNode()
创建模式SQL节点的副本
|
static PatternExpression |
of(String pattern)
获取PatternExpression实例,使用缓存机制避免重复创建相同模式的实例
|
String |
toString()
返回该模式表达式的字符串表示形式
|
protected Object |
wrapBinding(Object v)
包装绑定值
|
nextVarName, toSqlNode, toSqlNodepublic static final Pattern REF_PATTERN
public PatternExpression(String pattern)
解析给定的SQL模式字符串,提取变量占位符和SQL块引用,并构建内部结构以支持后续的绑定操作
pattern - SQL模式字符串,可以包含变量占位符(#{var}或${var})和SQL块引用(${ref}或${refN})public static PatternExpression of(String pattern)
pattern - SQL模式字符串protected FunctionWithArgs3<SqlNode,SqlNode[],Object[],ContainerNode> buildArrayFunction()
buildArrayFunction 在类中 BaseExpressionprotected FunctionWithArgs3<SqlNode,SqlNode[],Map<String,Object>,ContainerNode> buildMapFunction()
buildMapFunction 在类中 BaseExpressionprotected ContainerNode createPatternSqlNode()
Copyright © 2025 fossc. All rights reserved.