Class InsertSqlBuilder

java.lang.Object
cn.dinodev.spring.data.sql.builder.InsertSqlBuilder
All Implemented Interfaces:
SqlBuilder

public class InsertSqlBuilder extends Object implements SqlBuilder
SQL INSERT语句构建器 用于构建INSERT SQL语句的Builder类,支持指定列和值的插入操作
Author:
Cody Lu
  • Field Details

  • Constructor Details

    • InsertSqlBuilder

      public InsertSqlBuilder(String table)
      构造函数,创建指定表的INSERT语句构建器
      Parameters:
      table - 表名
  • Method Details

    • set

      public InsertSqlBuilder set(String col, Object value)
      设置列值,使用?占位符
      Parameters:
      col - 列名
      value - 值
      Returns:
      当前构建器实例
    • set

      public InsertSqlBuilder set(String col, String valueExpr, Object value)
      设置列值,使用自定义表达式
      Parameters:
      col - 列名
      valueExpr - 值表达式
      value - 参数值
      Returns:
      当前构建器实例
    • setIf

      public InsertSqlBuilder setIf(boolean cnd, String col, Object value)
      根据条件设置列值,使用?占位符
      Parameters:
      cnd - 条件,为true时才设置
      col - 列名
      value - 值
      Returns:
      当前构建器实例
    • setIf

      public InsertSqlBuilder setIf(boolean cnd, String col, String valueExpr, Object value)
      根据条件设置列值,使用自定义表达式
      Parameters:
      cnd - 条件,为true时才设置
      col - 列名
      valueExpr - 值表达式
      value - 参数值
      Returns:
      当前构建器实例
    • setIfNotNull

      public InsertSqlBuilder setIfNotNull(String col, Object value)
      当值不为null时设置列值
      Parameters:
      col - 列名
      value - 值
      Returns:
      当前构建器实例
    • withoutParam

      public InsertSqlBuilder withoutParam(String col, String valueExpr)
      设置列值但不添加参数(用于函数调用等)
      Parameters:
      col - 列名
      valueExpr - 值表达式
      Returns:
      当前构建器实例
    • withoutParamIf

      public InsertSqlBuilder withoutParamIf(boolean cnd, String col, String expr)
      根据条件设置列值但不添加参数
      Parameters:
      cnd - 条件,为true时才设置
      col - 列名
      expr - 值表达式
      Returns:
      当前构建器实例
    • setJson

      public InsertSqlBuilder setJson(String col, Object value)
      设置JSON类型列值
      Parameters:
      col - 列名
      value - JSON值
      Returns:
      当前构建器实例
    • setJsonIf

      public InsertSqlBuilder setJsonIf(boolean cnd, String col, Object value)
      根据条件设置JSON类型列值
      Parameters:
      cnd - 条件,为true时才设置
      col - 列名
      value - JSON值
      Returns:
      当前构建器实例
    • setJsonIfNotNull

      public InsertSqlBuilder setJsonIfNotNull(String col, Object value)
      当值不为null时设置JSON类型列值
      Parameters:
      col - 列名
      value - JSON值
      Returns:
      当前构建器实例
    • setJsonb

      public InsertSqlBuilder setJsonb(String col, Object value)
      设置JSONB类型列值
      Parameters:
      col - 列名
      value - JSONB值
      Returns:
      当前构建器实例
    • setJsonbIf

      public InsertSqlBuilder setJsonbIf(boolean cnd, String col, Object value)
      根据条件设置JSONB类型列值
      Parameters:
      cnd - 条件,为true时才设置
      col - 列名
      value - JSONB值
      Returns:
      当前构建器实例
    • setJsonbIfNotNull

      public InsertSqlBuilder setJsonbIfNotNull(String col, Object value)
      当值不为null时设置JSONB类型列值
      Parameters:
      col - 列名
      value - JSONB值
      Returns:
      当前构建器实例
    • getSql

      public String getSql()
      Description copied from interface: SqlBuilder
      获取生成的sql语句
      Specified by:
      getSql in interface SqlBuilder
      Returns:
    • getParams

      public Object[] getParams()
      Description copied from interface: SqlBuilder
      获取sql语句需要的参数数组
      Specified by:
      getParams in interface SqlBuilder
      Returns: