gpt4 book ai didi

java - 存储过程与单例 Java

转载 作者:行者123 更新时间:2023-11-30 09:27:35 24 4
gpt4 key购买 nike

目前我以这种方式连接到数据库:

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 服务)将需要连接到不同的数据库来为不同的专门类加载数据,甚至,这些类需要从纯文本加载数据。

最佳答案

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

你写的并不是连接数据库的首选方式。如果您有很多请求并为每个请求创建一个连接,那么您将遇到与数据库连接过多的问题。你应该使用 connection pool . Java最著名的是DBCP .另一个是 c3p0 .

对于不同数据库的连接,你应该使用类似 Hibernate 的东西.

关于java - 存储过程与单例 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14530447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com