我有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
   }
}

最佳答案

不要用静力学。使用apache dbcp连接池作为数据源,并将其配置为池preparedstatements。

10-06 09:15