- All Known Subinterfaces:
EasySqlScript
public interface SqlScript
SQL 脚本接口,对 XML 形式 SQL 进行简单封装,便于使用
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface确保字符串前有换行符的 Supplier 接口 -
Method Summary
Modifier and TypeMethodDescriptiondefault String生成 bind 标签包装的 XML 结构static Stringcaching(org.apache.ibatis.builder.annotation.ProviderContext providerContext, EasySqlScript sqlScript) 创建 SQL 并缓存static String创建 SQL 并缓存default Stringchoose(SqlScript.LRSupplier content) 生成 choose 标签包装的 XML 结构default Stringforeach(String collection, String item, String separator, String open, String close, String index, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构(带索引)default Stringforeach(String collection, String item, String separator, String open, String close, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构(带开闭符号)default Stringforeach(String collection, String item, String separator, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构(带分隔符)default Stringforeach(String collection, String item, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构生成对应的 SQL,支持动态标签default StringifParameterNotNull(SqlScript.LRSupplier content) 生成标签包装的 XML 结构,允许参数为空default StringifTest(String test, SqlScript.LRSupplier content) 生成 if 标签包装的 XML 结构default Stringotherwise(SqlScript.LRSupplier content) 生成 otherwise 标签包装的 XML 结构default StringparameterNotNull(String message) 增加参数非空校验default Stringset(SqlScript.LRSupplier content) 生成 set 标签包装的 XML 结构default Stringtrim(String prefix, String suffix, String prefixOverrides, String suffixOverrides, SqlScript.LRSupplier content) 生成 trim 标签包装的 XML 结构default StringtrimPrefixOverrides(String prefix, String suffix, String prefixOverrides, SqlScript.LRSupplier content) 生成 trim 标签包装的 XML 结构(仅前缀替换)default StringtrimSuffixOverrides(String prefix, String suffix, String suffixOverrides, SqlScript.LRSupplier content) 生成 trim 标签包装的 XML 结构(仅后缀替换)default StringvariableIsFalse(String variable, String message) 增加参数为 false 的校验default StringvariableIsTrue(String variable, String message) 增加参数为 true 的校验default StringvariableNotEmpty(String variable, String message) 增加参数非空的校验default StringvariableNotNull(String variable, String message) 增加参数非空的校验default StringwhenTest(String test, SqlScript.LRSupplier content) 生成 when 标签包装的 XML 结构default Stringwhere(SqlScript.LRSupplier content) 生成 where 标签包装的 XML 结构
-
Method Details
-
caching
static String caching(org.apache.ibatis.builder.annotation.ProviderContext providerContext, SqlScript sqlScript) 创建 SQL 并缓存- Parameters:
providerContext- 执行方法上下文sqlScript- XML SQL 脚本实现- Returns:
- 缓存 key
-
caching
static String caching(org.apache.ibatis.builder.annotation.ProviderContext providerContext, EasySqlScript sqlScript) 创建 SQL 并缓存- Parameters:
providerContext- 执行方法上下文sqlScript- XML SQL 脚本实现- Returns:
- 缓存 key
-
where
生成 where 标签包装的 XML 结构- Parameters:
content- 标签中的内容- Returns:
- where 标签包装的 XML 结构
-
getSql
生成对应的 SQL,支持动态标签- Parameters:
entity- 实体类信息- Returns:
- XML SQL 脚本
-
choose
生成 choose 标签包装的 XML 结构- Parameters:
content- 标签中的内容- Returns:
- choose 标签包装的 XML 结构
-
otherwise
生成 otherwise 标签包装的 XML 结构- Parameters:
content- 标签中的内容- Returns:
- otherwise 标签包装的 XML 结构
-
set
生成 set 标签包装的 XML 结构- Parameters:
content- 标签中的内容- Returns:
- set 标签包装的 XML 结构
-
ifTest
生成 if 标签包装的 XML 结构- Parameters:
test- if 的判断条件content- 标签中的内容- Returns:
- if 标签包装的 XML 结构
-
ifParameterNotNull
生成标签包装的 XML 结构,允许参数为空- Parameters:
content- 标签中的内容- Returns:
- 标签包装的 XML 结构
-
parameterNotNull
增加参数非空校验- Parameters:
message- 提示信息- Returns:
- 校验代码片段
-
variableIsTrue
增加参数为 true 的校验- Parameters:
variable- 参数,值为 booleanmessage- 提示信息- Returns:
- 校验代码片段
-
variableIsFalse
增加参数为 false 的校验- Parameters:
variable- 参数,值为 booleanmessage- 提示信息- Returns:
- 校验代码片段
-
variableNotNull
增加参数非空的校验- Parameters:
variable- 参数message- 提示信息- Returns:
- 校验代码片段
-
variableNotEmpty
增加参数非空的校验- Parameters:
variable- 参数message- 提示信息- Returns:
- 校验代码片段
-
whenTest
生成 when 标签包装的 XML 结构- Parameters:
test- when 的判断条件content- 标签中的内容- Returns:
- when 标签包装的 XML 结构
-
trim
default String trim(String prefix, String suffix, String prefixOverrides, String suffixOverrides, SqlScript.LRSupplier content) 生成 trim 标签包装的 XML 结构- Parameters:
prefix- 前缀suffix- 后缀prefixOverrides- 前缀替换内容suffixOverrides- 后缀替换内容content- 标签中的内容- Returns:
- trim 标签包装的 XML 结构
-
trimPrefixOverrides
default String trimPrefixOverrides(String prefix, String suffix, String prefixOverrides, SqlScript.LRSupplier content) 生成 trim 标签包装的 XML 结构(仅前缀替换)- Parameters:
prefix- 前缀suffix- 后缀prefixOverrides- 前缀替换内容content- 标签中的内容- Returns:
- trim 标签包装的 XML 结构
-
trimSuffixOverrides
default String trimSuffixOverrides(String prefix, String suffix, String suffixOverrides, SqlScript.LRSupplier content) 生成 trim 标签包装的 XML 结构(仅后缀替换)- Parameters:
prefix- 前缀suffix- 后缀suffixOverrides- 后缀替换内容content- 标签中的内容- Returns:
- trim 标签包装的 XML 结构
-
foreach
生成 foreach 标签包装的 XML 结构- Parameters:
collection- 遍历的对象item- 对象名content- 标签中的内容- Returns:
- foreach 标签包装的 XML 结构
-
foreach
default String foreach(String collection, String item, String separator, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构(带分隔符)- Parameters:
collection- 遍历的对象item- 对象名separator- 连接符content- 标签中的内容- Returns:
- foreach 标签包装的 XML 结构
-
foreach
default String foreach(String collection, String item, String separator, String open, String close, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构(带开闭符号)- Parameters:
collection- 遍历的对象item- 对象名separator- 连接符open- 开始符号close- 结束符号content- 标签中的内容- Returns:
- foreach 标签包装的 XML 结构
-
foreach
default String foreach(String collection, String item, String separator, String open, String close, String index, SqlScript.LRSupplier content) 生成 foreach 标签包装的 XML 结构(带索引)- Parameters:
collection- 遍历的对象item- 对象名separator- 连接符open- 开始符号close- 结束符号index- 索引名(list 为索引,map 为 key)content- 标签中的内容- Returns:
- foreach 标签包装的 XML 结构
-
bind
生成 bind 标签包装的 XML 结构- Parameters:
name- 变量名value- 变量值- Returns:
- bind 标签包装的 XML 结构
-