在没有找到Java EE的情况下很难找到资源,但这是我正在寻找的:
我所拥有的只是一个标准的Java SE应用程序,它会产生大量的数据库连接.我只需要使用连接池.有什么建议?
Spring数据源和Tomcat数据源有什么区别?任何专业人士/骗子?有偏好的选择吗?
我正在使用Hibernate v4.1.4.final.jar使用Java 1.7连接到Oracle 10g服务器.这是一个独立的java程序.
不幸的是,我的查询运行时间超过30分钟.我想知道在哪里可以配置连接超时和读取超时,这样在运行这个独立程序时,它不会超时并抛出错误?
谢谢!
我仍然是Java的新手,并且正在使用GUI构建器来学习Java的OO和其他编程概念.
我创建了一个非常基本的银行系统,基本上客户可以存钱和取钱.
我的代码没有特别的问题,因为一切正常,我只是有关于数据库连接的问题.
由于始终重复创建连接的代码,因此我创建了一个数据库类,如下所示:
public class DB {
static Connection c;
public static void createConnection() throws Exception{
Class.forName("com.mysql.jdbc.Driver");
DB.c = DriverManager.getConnection("jdbc:mysql://localhost:3306/bank", "root", "");
}
public static int insertUpdateDelete(String sql) throws Exception{
if(c == null){
createConnection();
}
return c.createStatement().executeUpdate(sql);
}
public static ResultSet search(String sql) throws Exception{
if(c == null)
createConnection();
return c.createStatement().executeQuery(sql);
}
}
Run Code Online (Sandbox Code Playgroud)
因此,每当我想从数据库插入/更新/删除时,我就是这么做的:
DB.insertUpdateDelete(SQL); //SQL contains the query
Run Code Online (Sandbox Code Playgroud)
对于搜索,我会这样做:
ResultSet rs = DB.search(SQL);
Run Code Online (Sandbox Code Playgroud)
经过一些阅读后,我了解到由于"资源泄漏"和查询相互干扰,拥有静态连接对象并不是最佳实践.
我的问题是,在独立的Java应用程序中获取连接的最佳方法是什么,而不必一遍又一遍地重复相同的代码.
谢谢