Class StatementUtil


  • public class StatementUtil
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      StatementUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.sql.PreparedStatement createPrepareStatement​(java.sql.Connection connection, java.lang.String sql, java.lang.Object[] params)
      创建一个 PreparedStatement
      static java.sql.PreparedStatement createPrepareStatement​(java.sql.Connection connection, java.lang.String sql, java.lang.Object[] params, boolean returnGeneratedKey)
      创建一个 PreparedStatement
      static java.sql.PreparedStatement createPrepareStatementBatch​(java.sql.Connection connection, java.lang.String sql, java.lang.Iterable<java.lang.Object[]> paramsBatch)
      创建批量操作的一个 PreparedStatement
      static java.sql.PreparedStatement createPrepareStatementBatch​(java.sql.Connection connection, java.lang.String sql, java.lang.Iterable<java.lang.Object[]> paramsBatch, boolean returnGeneratedKey)
      创建批量操作的一个 PreparedStatement
      static java.sql.PreparedStatement fillParams​(java.sql.PreparedStatement statement, java.lang.Iterable<?> params)
      填充PreparedStatement的参数。
      static java.sql.PreparedStatement fillParams​(java.sql.PreparedStatement statement, java.lang.Iterable<?> params, java.util.Map<java.lang.Integer,​java.lang.Integer> nullCache)
      填充PreparedStatement的参数。
      static int getNullType​(java.sql.PreparedStatement statement, int paramIndex)
      获取null字段对应位置的数据类型 如果类型获取失败将使用默认的 Types.VARCHAR
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StatementUtil

        public StatementUtil()
    • Method Detail

      • createPrepareStatement

        public static java.sql.PreparedStatement createPrepareStatement​(java.sql.Connection connection,
                                                                        java.lang.String sql,
                                                                        java.lang.Object[] params)
                                                                 throws java.sql.SQLException
        创建一个 PreparedStatement
        Parameters:
        connection - 数据库连接
        sql - SQL语句,使用"?"做为占位符
        params - "?"所代表的对应参数列表
        Returns:
        完成参数填充的 PreparedStatement
        Throws:
        java.sql.SQLException
      • createPrepareStatement

        public static java.sql.PreparedStatement createPrepareStatement​(java.sql.Connection connection,
                                                                        java.lang.String sql,
                                                                        java.lang.Object[] params,
                                                                        boolean returnGeneratedKey)
                                                                 throws java.sql.SQLException
        创建一个 PreparedStatement
        Parameters:
        connection - 数据库连接
        sql - SQL语句,使用"?"做为占位符
        params - "?"所代表的对应参数列表
        returnGeneratedKey - 是否会返回自增主键
        Returns:
        完成参数填充的 PreparedStatement
        Throws:
        java.sql.SQLException
      • createPrepareStatementBatch

        public static java.sql.PreparedStatement createPrepareStatementBatch​(java.sql.Connection connection,
                                                                             java.lang.String sql,
                                                                             java.lang.Iterable<java.lang.Object[]> paramsBatch)
                                                                      throws java.sql.SQLException
        创建批量操作的一个 PreparedStatement
        Parameters:
        connection - 数据库连接
        sql - SQL语句,使用"?"做为占位符
        paramsBatch - "?"所代表的对应参数列表
        Returns:
        完成参数填充的 PreparedStatement
        Throws:
        java.sql.SQLException
      • createPrepareStatementBatch

        public static java.sql.PreparedStatement createPrepareStatementBatch​(java.sql.Connection connection,
                                                                             java.lang.String sql,
                                                                             java.lang.Iterable<java.lang.Object[]> paramsBatch,
                                                                             boolean returnGeneratedKey)
                                                                      throws java.sql.SQLException
        创建批量操作的一个 PreparedStatement
        Parameters:
        connection - 数据库连接
        sql - SQL语句,使用"?"做为占位符
        paramsBatch - "?"所代表的对应参数列表
        returnGeneratedKey - 是否会返回自增主键
        Returns:
        完成参数填充的 PreparedStatement
        Throws:
        java.sql.SQLException
      • fillParams

        public static java.sql.PreparedStatement fillParams​(java.sql.PreparedStatement statement,
                                                            java.lang.Iterable<?> params)
                                                     throws java.sql.SQLException
        填充PreparedStatement的参数。
        Parameters:
        statement - PreparedStatement
        params - SQL参数
        Returns:
        PreparedStatement 填充参数后的PreparedStatement
        Throws:
        java.sql.SQLException - SQL执行异常
      • fillParams

        public static java.sql.PreparedStatement fillParams​(java.sql.PreparedStatement statement,
                                                            java.lang.Iterable<?> params,
                                                            java.util.Map<java.lang.Integer,​java.lang.Integer> nullCache)
                                                     throws java.sql.SQLException
        填充PreparedStatement的参数。
        Parameters:
        statement - PreparedStatement
        params - SQL参数
        nullCache - null参数的类型缓存,避免循环中重复获取类型
        Returns:
        完成参数填充的 PreparedStatement
        Throws:
        java.sql.SQLException
      • getNullType

        public static int getNullType​(java.sql.PreparedStatement statement,
                                      int paramIndex)
        获取null字段对应位置的数据类型 如果类型获取失败将使用默认的 Types.VARCHAR
        Parameters:
        statement - PreparedStatement
        paramIndex - 参数序列,第一位从1开始
        Returns:
        数据类型,默认为 Types.VARCHAR