在一个非常大的项目中,我们在哪里设置数据库连接,以便它可以在所有模块中使用?
假设要求是这样的:
LoginPage.html - > LoginServlet.java - > LoginService.java ==>需要DB帮助来检查凭据。
现在,由于实际凭证存储在DB中,我们在哪里设置数据库以便连接可用于所有模块?
在大项目中,是在需要时建立数据库连接,或者在运行应用程序时设置数据库连接并在所有模块中使用。
如果所有模块(需要数据库连接)都可以使用DB连接,那么这是如何实现的?
感谢您的帮助和投入。
答案 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()
}
}