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