跨大型Java项目的所有模块的数据库连接设置

时间:2014-06-23 07:00:22

标签: java database servlets web-applications web

在一个非常大的项目中,我们在哪里设置数据库连接,以便它可以在所有模块中使用?

假设要求是这样的:

LoginPage.html - > LoginServlet.java - > LoginService.java ==>需要DB帮助来检查凭据。

现在,由于实际凭证存储在DB中,我们在哪里设置数据库以便连接可用于所有模块?

在大项目中,是在需要时建立数据库连接,或者在运行应用程序时设置数据库连接并在所有模块中使用。

如果所有模块(需要数据库连接)都可以使用DB连接,那么这是如何实现的?

感谢您的帮助和投入。

1 个答案:

答案 0 :(得分:0)

由于您没有使用IoC方法(Spring),另一种方法是使用一个静态类(或单例)来引用DataSource。无论何时需要连接,您只需从该类获取它:

public class JdbcUtils{

    private static DataSource dataSource;

    static{
     dataSource = new DB2SimpleDataSource();   
     dataSource.setDatabaseName("DBNAME");
     dataSource.setServerName("xxx.xxx.xxx.xxx");
     dataSource.setPortNumber(447);
     dataSource.setUser("USER");
     dataSource.setPassword("PASS");
     dataSource.setDriverType(4);
     dataSource.setCurrentSchema("SCHEMA");
         //OR even better get the DataSource through JNDI lookup if defined on server
    }

    public static Connection getConnection() throws SQLException{
         return dataSource.getConnection()
    }
}