存储过程与单例Java

存储过程与单例Java,java,sql,performance,stored-procedures,singleton,Java,Sql,Performance,Stored Procedures,Singleton,目前,我通过以下方式连接到数据库: MyClass.java try { DataSource datasource = JNDILoader.getDataSourceObject(pathToSource); Class.forName("net.sourceforge.jtds.jdbc.Driver"); connection = datasource.getConnection(); stmt = connection.prepareStatement(

目前,我通过以下方式连接到数据库:

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


注意:最后,应用程序(Restful Web服务)将需要连接到不同的数据库以加载不同专门类的数据,甚至这些类也需要从纯文本加载数据。

存储过程在数据库上执行。您可以通过连接向它传递/检索数据

您必须检查它是否是线程安全的(我不这么认为),是否要执行并发调用

通常,存储过程=数据库中发生的1个事务


为什么首先要使用存储过程?

首先,您混合了两种不同的东西:单例和存储过程。是设计模式,是在数据库上执行的过程,通常封装一些业务逻辑

您编写的并不是连接到数据库的首选方式。若您有许多请求,并且为每个请求创建一个连接,那个么您将遇到与数据库连接过多的问题。你应该使用。Java最著名的是。另一个是


对于不同数据库上的连接,您应该使用如下内容。

什么是上下文?这在网络应用程序中吗?一个脚本?我真的很困惑,你在混合存储过程和单例,这两个完全不同的东西在完全不同的抽象级别(封装业务逻辑和设计模式的方式)。我正在开发一个Restful Web服务,因此,上面的代码是连接到数据库的类的一部分,但是,因为我需要很多类来查询很多数据源(明文、DB、属性文件等),所以我想确定最好的方法是thx