2012-06-06 143 views
0

大家好以下是我的數據庫連接文件,如何在java web應用程序中配置數據庫參數?

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; 

    } 
} 

在此我想使連接字符串和驅動程序名稱配置。如何做到這一點以及在哪裏放置包含可配置值的文件?

問候 託尼

+1

你看過使用JNDI嗎?我認爲這將是「標準」的答案。此外,讓您的應用程序以root身份連接並不可取。 –

+0

感謝您的寶貴點,我使用tomcat 7.是否有可能使用JNDI,我很抱歉,我已經在jboss中使用JNDI之前,所以我問這個問題 – SAR

+0

是的,JNDI可以與tomcat 7一起使用。請參閱http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html這實際上包含了MySQL的分步示例。 –

回答

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。

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上的數據源請閱讀本文official documentation

相關問題