2015-07-02 4 views
1

Это мой класс db для моего приложения JavaSE.сетевых приложений javaSE

public class db { 
    static Connection c; 
    public static Connection Get_Connection() throws ClassNotFoundException,SQLException { 
     if (c == null) { 
      String ip = ""; 
      String port = ""; 
      String username = ""; 
      String password = ""; 
      try { 
       BufferedReader br = new BufferedReader(new FileReader(System.getProperty("user.home") + "/ConnectionSettings.txt")); 
       ip = br.readLine(); 
       port = br.readLine(); 
       username = br.readLine(); 
       password = br.readLine(); 
       br.close(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
      Class.forName("com.mysql.jdbc.Driver"); 
      c = DriverManager.getConnection("jdbc:mysql://" + ip + ":"+port + "/mydb", username, password); 
     } 
     return c; 
    } 

Я знаю, что это не очень хорошая практика. Я получаю IP-адрес, пароль базы данных и порт из текстового файла, сохраненного в C:/...

Мой вопрос: если я хочу, чтобы сеть проекта, можно ли предоставить IP-адрес серверной машины в этом классе?

Если вы не скажите мне, почему и как подключать приложения JavaSE?

Это нормально, если вы предоставляете ответы в ссылках.

Каковы рамки, которые я должен использовать для сетевых приложений?

Будет ли hibernate быть решением проблемы?

+0

Что вы подразумеваете под «networking» здесь? Это о координировании кода проекта с другими разработчиками? – asgs

+0

Нет, я имею в виду, что база данных должна находиться в другом компьютере – NullPointer

+1

Лучшим местом для конфигурации является контейнер приложений/веб-сайтов. Вы можете настроить источник данных (или БД) и ссылаться на него из своего кода с помощью JNDI. Проверьте [why-use-jndi-for-data-sources] (http://stackoverflow.com/questions/7760712/why-use-jndi-for-data-sources), [поиск источника данных с использованием JNDI для получения соединение] (https://docs.oracle.com/cd/E19830-01/819-4725/abmdz/) и [jndi-resources-howto] (http://tomcat.apache.org/tomcat-8.0- DOC/JNDI-ресурсы-howto.html). – asgs

ответ

0

Если все, что вы говорите, делает сетевое подключение к существующему серверу базы данных, этот код будет достаточным. В реальном приложении вы хотите использовать более гибкий метод хранения параметров соединения, но это то, к чему это сводится.

Основы сохранения, такие как JPA (Hibernate) и Spring Data, сидят поверх этого соединения и конвертируют между объектами SQL и Java. Использовать ли это зависит от того, что именно вы пытаетесь сделать в своем приложении.

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