以下是我的数据库连接文件
package org.slingemp.common;
import java.sql.Connection;
import java.sql.DriverManager;
public class JDBCManager {
public Connection mysqlConnection() {
Connection dbConnection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
dbConnection=DriverManager.getConnection("jdbc:mysql://localhost:3306/slingemp","root","root");
//System.out.println("mysql Driver Connedted::::::::");
} catch (Exception e) {
e.printStackTrace();
}
return dbConnection;
}
}
在此我想使连接字符串和驱动程序名称可配置。如何做到这一点以及放置包含可配置值的文件的位置?
此致 贝
答案 0 :(得分:2)
您可以将这些值放在属性文件中说database.properties
文件,然后使用如下代码加载这些属性:
private void loadProperties(){
InputStream inputStream = JDBCManager.class.getClassLoader().getResourceAsStream("database.properties");
try {
databaseProperties.load(inputStream); // database properties is an instance variable Properties databaseProperties;
} catch (IOException e) {
logger.error("Exception occurred while loading server properties", e);
}
}
根据评论:
是的,可以在Tomcat中使用JNDI,在Tomcat 7上配置数据源请阅读official documentation
答案 1 :(得分:1)
您可以将它们放入.properties
文件或服务器JNDI资源。
jdbc.properties示例:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/yourDatabaseName
jdbc.username=username
jdbc.password=password
然后在java类中使用它来获取属性:
public static ResourceBundle getJdbcBundle() {
return ResourceBundle.getBundle("jdbc");
}
String url = SomeClass.getJdbcBundle().getString("jdbc.url");
但更有效的方法是使用JNDI。