Написал десктопную программу на JavaFX.
Имеется класс для подключения к базе данных.
В контроллере вызываю метод этого класса.
Все прекрасно работает, но мне бы хотелось чтобы url, user и password базы данных брались не из класса, а из файла
db.properties, который находится в корне программы, чтобы пользователь сам прописал свои настройки для подключения к базе данных
Как это можно сделать?
Что имею:
Класс базы банных:
public class Database {
private final static String DB_URL = "jdbc:mysql://localhost:3306/face?serverTimezone=UTC";
private final static String DB_USER= "root";
private final static String DB_PASSWORD = "root";
public static Connection getConnection() throws SQLException {
Connection connection = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
return connection;
}
В контроллере вызывается метод getConnection
Connection con = Database.getConnection();
Я пробовал в класс Database сделать это:
try (InputStream input = Main.class.getClassLoader().getResourceAsStream("db.properties")) {
Properties prop = new Properties();
if (input == null) {
System.out.println("Sorry, unable to find db.properties");
return;
}
//load a properties file from class path, inside static method
prop.load(input);
//get the property value and print it out
System.out.println(prop.getProperty("url"));
System.out.println(prop.getProperty("user"));
System.out.println(prop.getProperty("password"));
} catch (IOException ex) {
ex.printStackTrace();
}
Но try catch не работает