Java - DAL 项目中的数据库 URL
Java - Database URL within the DAL project
我正在重写一个API的后端代码。它使用 Glassfish 存储数据库 URL、用户名、密码...
我想使用更好的解决方案,这样我们就可以在不修改代码的情况下轻松更改我们的 Web 服务器和数据库。
我的想法是将数据库信息(url、用户名、..)存储在 web.xml
中,并在 baseDAO
.
中检索它们
这是我的项目结构
- 休息API项目
- 商业项目
- DAL项目
- DTO项目
在我的 DALProject 中,我将创建这个 class
public class BaseDAO {
public Connection getConnection() {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/DB";
String name = "root";
String password = "";
Connection con = DriverManager.getConnection(url, name, password);
return con;
}
}
public class UserDAO extends BaseDAO {
public User getAll() {
Connection con = getConnection();
...
}
}
如何存储这些数据库的信息?使其模块化的最佳做法是什么?我需要随时轻松更改数据库。
最好的办法是保存在application.properties
文件中,需要的时候再改:
# Details for datasource
application.db.driver = com.mysql.jdbc.Driver
application.db.url = jdbc:mysql://localhost:3306/DB
application.db.username = root
application.db.password =
然后你就可以在你的配置bean中使用它了:
@Configuration
@PropertySource("application.properties")
public class DataConfig {
@Autowired
private Environment env;
@Bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(env.getProperty("application.db.driver"));
dataSource.setUrl(env.getProperty("application.db.url"));
dataSource.setUsername(env.getProperty("application.db.username"));
dataSource.setPassword(env.getProperty("application.db.password"));
return dataSource;
}
}
我正在重写一个API的后端代码。它使用 Glassfish 存储数据库 URL、用户名、密码...
我想使用更好的解决方案,这样我们就可以在不修改代码的情况下轻松更改我们的 Web 服务器和数据库。
我的想法是将数据库信息(url、用户名、..)存储在 web.xml
中,并在 baseDAO
.
这是我的项目结构
- 休息API项目
- 商业项目
- DAL项目
- DTO项目
在我的 DALProject 中,我将创建这个 class
public class BaseDAO {
public Connection getConnection() {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/DB";
String name = "root";
String password = "";
Connection con = DriverManager.getConnection(url, name, password);
return con;
}
}
public class UserDAO extends BaseDAO {
public User getAll() {
Connection con = getConnection();
...
}
}
如何存储这些数据库的信息?使其模块化的最佳做法是什么?我需要随时轻松更改数据库。
最好的办法是保存在application.properties
文件中,需要的时候再改:
# Details for datasource
application.db.driver = com.mysql.jdbc.Driver
application.db.url = jdbc:mysql://localhost:3306/DB
application.db.username = root
application.db.password =
然后你就可以在你的配置bean中使用它了:
@Configuration
@PropertySource("application.properties")
public class DataConfig {
@Autowired
private Environment env;
@Bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName(env.getProperty("application.db.driver"));
dataSource.setUrl(env.getProperty("application.db.url"));
dataSource.setUsername(env.getProperty("application.db.username"));
dataSource.setPassword(env.getProperty("application.db.password"));
return dataSource;
}
}