【发布时间】:2013-01-09 22:14:48
【问题描述】:
目前我以这种方式连接到数据库:
MyClass.java
try {
DataSource datasource = JNDILoader.getDataSourceObject(pathToSource);
Class.forName("net.sourceforge.jtds.jdbc.Driver");
connection = datasource.getConnection();
stmt = connection.prepareStatement("{call storageProcedureXXX(?,?)}");
stmt.setString(1, "X");
stmt.setString(2, "Y");
result = stmt.executeQuery();
}catch (SQLException){
//TODO
}catch(Exception){
//TODO
}
这适用于发出数据请求的 1 个类,但是,如果我创建一个单例类并从中获取连接会更好吗? (性能?,可维护性?,简单性?)。哪个选项会更好:Singleton vs StorageProcedures per each request?。
注意:最后,应用程序(Restful Web Service)将需要连接到不同的数据库来为不同的专业类加载数据,甚至,这些类需要从纯文本中加载数据。
【问题讨论】:
-
上下文是什么?这是在网络应用程序中吗?脚本?
-
我真的很困惑,你在混合存储过程和单例,两个完全不同的东西在完全不同的抽象级别(封装业务逻辑和设计模式的方式)。
-
我正在开发一个 Restful Web 服务,所以,上面的代码是连接到数据库的类的一部分,但是,因为我需要许多类来查询许多数据源(纯文本、数据库、 propertiesFiles 等),我想确定最好的方法,谢谢
标签: java sql performance stored-procedures singleton