将准备好的语句存储为静态成员

时间:2014-02-05 17:13:44

标签: java sql sqlite jdbc

我有15个准备好的陈述,我将在整个申请过程中经常使用。在一项任务中,其中一些将被称为数百万次。

我决定使用预处理语句,因为解析一百万次的常规语句似乎不是一个好主意。

我打算创建一个实用程序类来管理所有与数据库相关的东西和所有准备好的语句。这些语句将作为静态成员存储,我可以通过传入适当的参数来调用它们。

将准备好的语句存储为我应该注意的静态成员是否存在任何问题?

如果有所作为,我正在使用sqlite-jdbc

编辑:

这就是我计划管理我准备好的陈述的方式

class DBUtils {

   private static PreparedStatement psInsertPerson;

   public static void createStatements() {
      // assuming a connection has been set up already
      psInsertPerson = conn.prepareStatement( ... );
   }

   public static void insertPerson( ... ) {
      psInsertPerson.set...
      psInsert.addBatch();

      // figure out when to perform batch insertion at some point
   }
}

1 个答案:

答案 0 :(得分:1)

请勿使用静力学。使用Apache DBCP连接池作为您的DataSource,并将其配置为汇集PreparedStatements。