@postya

Как подключиться к базе данных из файла в JavaFX приложении?

Написал десктопную программу на 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 не работает
  • Вопрос задан
  • 700 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы