Module bus.mapper

Interface SqlScript

All Known Subinterfaces:
EasySqlScript

public interface SqlScript
SQL 脚本接口,对 XML 形式 SQL 进行简单封装,便于使用
Since:
Java 17+
Author:
Kimi Liu
  • 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

      default String where(SqlScript.LRSupplier content)
      生成 where 标签包装的 XML 结构
      Parameters:
      content - 标签中的内容
      Returns:
      where 标签包装的 XML 结构
    • getSql

      String getSql(TableMeta entity)
      生成对应的 SQL,支持动态标签
      Parameters:
      entity - 实体类信息
      Returns:
      XML SQL 脚本
    • choose

      default String choose(SqlScript.LRSupplier content)
      生成 choose 标签包装的 XML 结构
      Parameters:
      content - 标签中的内容
      Returns:
      choose 标签包装的 XML 结构
    • otherwise

      default String otherwise(SqlScript.LRSupplier content)
      生成 otherwise 标签包装的 XML 结构
      Parameters:
      content - 标签中的内容
      Returns:
      otherwise 标签包装的 XML 结构
    • set

      default String set(SqlScript.LRSupplier content)
      生成 set 标签包装的 XML 结构
      Parameters:
      content - 标签中的内容
      Returns:
      set 标签包装的 XML 结构
    • ifTest

      default String ifTest(String test, SqlScript.LRSupplier content)
      生成 if 标签包装的 XML 结构
      Parameters:
      test - if 的判断条件
      content - 标签中的内容
      Returns:
      if 标签包装的 XML 结构
    • ifParameterNotNull

      default String ifParameterNotNull(SqlScript.LRSupplier content)
      生成标签包装的 XML 结构,允许参数为空
      Parameters:
      content - 标签中的内容
      Returns:
      标签包装的 XML 结构
    • parameterNotNull

      default String parameterNotNull(String message)
      增加参数非空校验
      Parameters:
      message - 提示信息
      Returns:
      校验代码片段
    • variableIsTrue

      default String variableIsTrue(String variable, String message)
      增加参数为 true 的校验
      Parameters:
      variable - 参数,值为 boolean
      message - 提示信息
      Returns:
      校验代码片段
    • variableIsFalse

      default String variableIsFalse(String variable, String message)
      增加参数为 false 的校验
      Parameters:
      variable - 参数,值为 boolean
      message - 提示信息
      Returns:
      校验代码片段
    • variableNotNull

      default String variableNotNull(String variable, String message)
      增加参数非空的校验
      Parameters:
      variable - 参数
      message - 提示信息
      Returns:
      校验代码片段
    • variableNotEmpty

      default String variableNotEmpty(String variable, String message)
      增加参数非空的校验
      Parameters:
      variable - 参数
      message - 提示信息
      Returns:
      校验代码片段
    • whenTest

      default String whenTest(String test, SqlScript.LRSupplier content)
      生成 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

      default String foreach(String collection, String item, SqlScript.LRSupplier content)
      生成 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

      default String bind(String name, String value)
      生成 bind 标签包装的 XML 结构
      Parameters:
      name - 变量名
      value - 变量值
      Returns:
      bind 标签包装的 XML 结构