URL базы данных mysql, имя пользователя и пароль в файле - PullRequest
1 голос
/ 12 марта 2012

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

Ответы [ 2 ]

3 голосов
/ 12 марта 2012

Создать файл свойств . Вы можете загрузить его по API Properties .

например. 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 голосов
/ 12 марта 2012
 /**
 * 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;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...