JDBC logowanie i przetwarzanie danych

0

Witam,

W celach edukacyjnych piszę własny program do obsługi bazy danych (MySql). Napotkałem się z kilkoma problemami, chciałbym spytać o radę bardziej doświadczone osoby.

  1. Wiadomo żeby pracować z daną bazą danych trzeba się zalogować na serwer czy poniższy sposób sprawdzania czy dany administrator serwera istnieje jest do przyjęcia? Jeżeli nie jakaś podpowiedz jak to inaczej zrobić?

public boolean chechLoginPassword(String server, String user, String password)
{
   try
   {
      Class.forName("com.mysql.jdbc.Driver").newInstance();

      String url = "jdbc:mysql://"+server;
      con.FriverManager.getConnection(url, user, password);

      return true;

   }
   catch(Esception e)
   {
   return false;
   }
}

Jeżeli funkcja zwróci true pomyślnie przechodzimy do głównego programu, fałsz wiadomo jakieś tam działanie.

  1. Teraz tak, jeżeli już przypuśćmy nawiązałem połączenie, sprawdziłem że dany użytkownik istnieje czy powinienem zaraz po tym zakończyć połączenie z serwerem? Chodzi mi o to czy potem w trakcie pracy programu do wykonywania jakiegokolwiek zapytania do bazy powinienem za każdym razem na nowo ustanawiać połączenie czy mogę cały czas pracować na tym jednym połączeniu po zalogowaniu? Wydaje mi się, że powinienem za każdym razem na nową ustanawiać połączenie ale w takim przypadku musiałbym za każdym razem na nowo podawać login i hasło administratora serwera a to wydaje mi się mało wygodne, może zrobić to tak żeby po poprawnym ustanowieniu połączenia przypisać login haslo i ip serwera do jakiś zmiennych i używać ich do połączeń w trakcie trwania programu?
0

Napisz z jakiego serwera korzystasz: Tomcat, Jetty, WildFly, Glassfish czy coś innego?

0

na razie nie korzystam z żadnego z powyższych tylko localhost

0

Nie powinieneś zrywać połączenia z zalogowanym użytkownikiem. Po po poprawnym zalogowaniu się każdego z użytkowników, możesz np tworzyć osobny wątek dla każdego po stronie serwera, który będzie odpowiedzialny za komunikację z użytkownikiem. Z tego co widzę to jest aplikacja w Javie SE i robisz to na socketach?

0

Tak jest to aplikacja w java SE ale nie robie tego na socketach, moze jest zbyt poważne podejście do tematu, jest to prościutka aplikacja którą bede mógł zarządzać bazą danych w domu, robię ja tylko po to żeby poznać w jakimś stopniu JDBC, wiec wykorzystanie wątków tu chyba nie będzie konieczne. Zastanawiało mnie włąsnie jak rozwiązać tą sytuacje z logowaniem (zeby w przyszłości to wykorzystac gdzie indziej).

1 użytkowników online, w tym zalogowanych: 0, gości: 1