在Java中建立与数据库的持久连接

时间:2010-03-07 09:57:40

标签: java mysql database

我在网上浏览了几个例子,发现每次我需要DB的东西时,我应该写下面的代码:

try
{
  // Step 1: Load the JDBC driver. 
  Class.forName("mysql_driver_name"); 
  // Step 2: Establish the connection to the database. 
  String url = "jdbc:string_to_mysql_server"; 
  Connection conn = DriverManager.getConnection(url,"user1","password");

  // fetch from the DB ...

}
catch (Exception e)
{
  System.err.println("Got an exception! "); 
  System.err.println(e.getMessage()); 
}

每次我想要来自数据库的东西时都提出这个代码非常烦人,所以问题是 - 有没有办法只有一次完全将我的所有应用程序连接到数据库的某种方式非常重要的一点,避免复制粘贴提到的代码,然后能够用数据库做我想做的一切吗?

我很快查看了NetBeans的项目菜单,但没有找到任何关于如何配置与所选数据库的持久连接的线索。

如果这很重要,我正在编写一个纯桌面应用程序,即使用Java SE。此外,值得一提的是,我是Java的初学者。

3 个答案:

答案 0 :(得分:5)

有许多连接池选项可供选择,我建议您尝试使用Apache Common Db连接池http://commons.apache.org/dbcp/

答案 1 :(得分:1)

连接池的想法可能是最好的整体解决方案。然而,在ypur案例中有一个更简单的。

在你的代码中,conn超出了它创建的方法的范围。没有必要这样做。您可以创建一个方法,其中包含所有代码,包括分配给conn的行。然后将该conn变量传递给程序的其他部分,并将其用于db工作。

答案 2 :(得分:1)

您可以按照这种建立连接的方法

  1. 创建一个Singleton类,它可以帮助您创建连接
  2. 在您的DAO或任何帮助程序类中,调用此单个实例,该实例具有连接
  3. 获得Conenction后,请编写要在数据库上执行的操作。
  4. 关闭连接,以完成连接。
  5. 这将避免代码,您在查询中编写的内容。 这种风格会增加可读性并降低可维护性。

    如果您想要任何示例代码让我知道,我可以为您提供