相关疑难解决方法(0)

Java SE中的连接池?

在没有找到Java EE的情况下很难找到资源,但这是我正在寻找的:

我所拥有的只是一个标准的Java SE应用程序,它会产生大量的数据库连接.我只需要使用连接池.有什么建议?

java connection-pooling

3
推荐指数
1
解决办法
3445
查看次数

Spring数据源和Tomcat数据源之间的区别?

Spring数据源和Tomcat数据源有什么区别?任何专业人士/骗子?有偏好的选择吗?

spring tomcat datasource

2
推荐指数
1
解决办法
2384
查看次数

如何在休眠中配置连接超时?

我正在使用Hibernate v4.1.4.final.jar使用Java 1.7连接到Oracle 10g服务器.这是一个独立的java程序.

不幸的是,我的查询运行时间超过30分钟.我想知道在哪里可以配置连接超时和读取超时,这样在运行这个独立程序时,它不会超时并抛出错误?

谢谢!

java hibernate

2
推荐指数
1
解决办法
2万
查看次数

Java独立应用程序中静态Connection对象的缺点

我仍然是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应用程序中获取连接的最佳方法是什么,而不必一遍又一遍地重复相同的代码.

谢谢

java mysql jdbc

1
推荐指数
1
解决办法
509
查看次数

标签 统计

java ×3

connection-pooling ×1

datasource ×1

hibernate ×1

jdbc ×1

mysql ×1

spring ×1

tomcat ×1