Class InsertBuilder

java.lang.Object
org.seasar.doma.jdbc.builder.InsertBuilder

public class InsertBuilder extends Object
A builder for an SQL INSERT statement.

This is not thread safe.

Java

 InsertBuilder builder = InsertBuilder.newInstance(config);
 builder.sql("insert into Emp");
 builder.sql("(name, salary)");
 builder.sql("values (");
 builder.param(String.class, "SMITH").sql(", ");
 builder.param(BigDecimal.class, new BigDecimal(1000)).sql(")");
 builder.execute();
 

built SQL

 insert into Emp
 (name, salary)
 values('SMITH', 1000)
 
  • Method Details

    • newInstance

      public static InsertBuilder newInstance(Config config)
      Creates a new instance.
      Parameters:
      config - the configuration
      Returns:
      a builder
      Throws:
      DomaNullPointerException - if config is null
    • sql

      public InsertBuilder sql(String sql)
      Appends an SQL fragment.
      Parameters:
      sql - the SQL fragment
      Returns:
      a builder
      Throws:
      DomaNullPointerException - if sql is null
    • removeLast

      public InsertBuilder removeLast()
      Removes the last SQL fragment or parameter.
      Returns:
      a builder
    • param

      public <P> InsertBuilder param(Class<P> paramClass, P param)
      Appends a parameter.

      The parameter type must be one of basic types or holder types.

      Type Parameters:
      P - the parameter type
      Parameters:
      paramClass - the parameter class
      param - the parameter
      Returns:
      a builder
      Throws:
      DomaNullPointerException - if paramClass is null
    • params

      public <E> InsertBuilder params(Class<E> elementClass, List<E> params)
      Appends a parameter list.

      The element type of the list must be one of basic types or holder types.

      Type Parameters:
      E - the element type of the list
      Parameters:
      elementClass - the element class of the list
      params - the parameter list
      Returns:
      a builder
      Throws:
      DomaNullPointerException - if elementClass or params is null
    • literal

      public <P> InsertBuilder literal(Class<P> paramClass, P param)
      Appends a parameter as literal.

      The parameter type must be one of basic types or holder types.

      Type Parameters:
      P - the parameter type
      Parameters:
      paramClass - the parameter class
      param - the parameter
      Returns:
      a builder
      Throws:
      DomaNullPointerException - if paramClass is null
    • literals

      public <E> InsertBuilder literals(Class<E> elementClass, List<E> params)
      Appends a parameter list as literal.

      The element type of the list must be one of basic types or holder types.

      Type Parameters:
      E - the element type of the list
      Parameters:
      elementClass - the element class of the list
      params - the parameter list
      Returns:
      a builder
      Throws:
      DomaNullPointerException - if elementClass or params is null
    • execute

      public int execute()
      Executes an SQL INSERT statement.
      Returns:
      the affected rows count
      Throws:
      UniqueConstraintException - if an unique constraint violation occurs
      JdbcException - if a JDBC related error occurs
    • queryTimeout

      public void queryTimeout(int queryTimeout)
      Sets the query timeout limit in seconds.

      If not specified, the value of Config.getQueryTimeout() is used.

      Parameters:
      queryTimeout - the query timeout limit in seconds
      See Also:
    • sqlLogType

      public void sqlLogType(SqlLogType sqlLogType)
      Sets the SQL log format.
      Parameters:
      sqlLogType - the SQL log format type
    • callerClassName

      public void callerClassName(String className)
      Sets the caller class name.

      If not specified, the class name of this instance is used.

      Parameters:
      className - the caller class name
      Throws:
      DomaNullPointerException - if className is null
    • callerMethodName

      public void callerMethodName(String methodName)
      Sets the caller method name.

      if not specified, execute is used.

      Parameters:
      methodName - the caller method name
      Throws:
      DomaNullPointerException - if methodName is null
    • getSql

      public Sql<?> getSql()
      Returns the built SQL.
      Returns:
      the built SQL