0

大家好,以下是我的数据库连接文件,

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;

    }
}

在这我想让连接字符串和驱动程序名称可配置。如何做到这一点以及将包含可配置值的文件放在哪里?

问候托尼

4

2 回答 2

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);
        }
}

根据评论:

是的,JNDI 可以在 Tomcat 中使用,要在 Tomcat 7 上配置数据源,请阅读这个官方文档

于 2012-06-06T16:20:32.297 回答
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。

于 2012-06-06T16:20:59.323 回答