[英]How to make database parameter configurable in java web application?
大家好,以下是我的数据库连接文件,
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;
}
}
在此,我想使连接字符串和驱动程序名称可配置。 如何执行此操作以及将包含可配置值的文件放在何处?
问候托尼
您可以将这些值放在属性文件(例如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);
}
}
根据评论:
是的,JNDI可以在Tomcat中使用,要在Tomcat 7上配置数据源,请阅读此官方文档
您可以将它们放入.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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.