2012-03-12 2 views
1

Как я могу поместить свой URL-адрес базы данных mysql, имя пользователя и пароль в файл и как я могу получить к ним доступ для использования в моем java-коде вместо жесткой их кодировки. Я пробовал Google, но я не получаю четкое направление.mysql database url, имя пользователя и пароль в файле

+1

Вы имеете в виду, чтобы создать какой-то файл конфигурации для Java-приложение? – tadman

+0

Да. Это то, что лучше всего подходит для этого соединения в противном случае, теперь я могу запускать свое приложение после указания их в коде, который лучше сделать в файле – ken

ответ

3

Создать properties file. Вы можете загрузить его на the Properties API.

E.g. config.properties:

url = jdbc:mysql://localhost:3306/dbname 
username = foo 
password = bar 

Затем вы можете загрузить и читать его следующим образом (после того, как вы поместили его в путь к классам):

Properties config = new Properties(); 
config.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties")); 

String url = config.getProperty("url"); 
String username = config.getProperty("username"); 
String password = config.getProperty("password"); 
// ... 
+0

Спасибо за код @BalusC. Позвольте мне попробовать. Я только не знаю, как начать создание файла свойств – ken

+0

Это всего лишь текстовый файл. Используйте любой текстовый редактор, который вы хотите. Например. блокнот. – BalusC

+0

Спасибо. Я создал файл свойств, получил несколько проблем с указанием пути к нему, но в конце концов это сделало – ken

0
/** 
* Function that connects to a DB and data fro connection is loaded from a properties file 
* @param fileName 
* @return the connection to DB or null if any problem 
*/ 
public java.sql.Connection connect_to_database_from_properties(String fileName) 
{ 
    Properties prop = new Properties(); 

    InputStream is; 
    try { 
     is = new FileInputStream(fileName); 

    prop.load(is); 
    String url=prop.getProperty("url"); 
    String un=prop.getProperty("username"); 
    String pass=prop.getProperty("password"); 
    System.out.println("URL: "+url+" UN: "+un+" PASS: "+pass); 
    is.close(); 
    Class.forName("com.mysql.jdbc.Driver"); 

    java.sql.Connection conection =DriverManager.getConnection(url, un, pass); 
    return conection; 

    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (ClassNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    return null; 

} 
Смежные вопросы