Подключиться к базе данных с помощью XML-файла - Java - PullRequest
0 голосов
/ 29 октября 2018
public static JdbcTemplate connectBDD() {

  DriverManagerDataSource ds = new DriverManagerDataSource();

  ds.setDriverClassName("com.mysql.jdbc.Driver");

  ds.setUrl("jdbc:mysql://localhost:8080/test");

  ds.setUsername("root");

  ds.setPassword("root");

  JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);

  jdbcTemplate.setDataSource(ds);

  return jdbcTemplate;
}

Благодаря этим строкам кода я могу делать запросы к моей базе данных.

Я видел, как многие люди делали то же самое, используя XML-файл, содержащий всю информацию для подключения к базе данных.

Может кто-нибудь показать мне, пожалуйста, как написать такой файл и, что наиболее важно, как вызвать его в коде Java.

Спасибо!

1 Ответ

0 голосов
/ 29 октября 2018

Если вы не хотите, чтобы ваше имя пользователя / пароль были жестко запрограммированы, вы можете прочитать их из файла свойств:

public static PropertyResourceBundle getProperties(final String fileName)
        throws FileNotFoundException, IOException {
    try (FileInputStream fis = new FileInputStream(fileName)) {
        return new PropertyResourceBundle(fis);
    }
}

public static JdbcTemplate connectBDD() throws FileNotFoundException, IOException {

    PropertyResourceBundle properties = getProperties("c:\\temp\\testapp.properties");

    DriverManagerDataSource ds = new DriverManagerDataSource();

    ds.setDriverClassName("com.mysql.jdbc.Driver");

    ds.setUrl("jdbc:mysql://localhost:8080/test");

    String userName = properties.getString("userName");
    ds.setUsername(userName);

    String password = properties.getString("password");
    ds.setPassword(password);

    JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);

    jdbcTemplate.setDataSource(ds);

    return jdbcTemplate;
}

С чтением c: \ temp \ testapp.properties

userName=testUserWithNeededPrivelegesOnly
password=hardToGuessPassword
...