MySQL-Verbindung in anderer Klasse nutzen

perlfan

Mitglied
Hallo zusammen,

ich habe eine MySQL-Methode, mit der ich erfolgreich in einer anderen Klasse über MySQL.Queries(URL, USERNAME, PASSWORD); eine Verbindung aufbauen kann.

Meine Frage ist nun, wie ich in anderen Klassen auf die Verbindung zugreifen kann, um dann z.B. Selects auszuführen (wie in meiner Queries-Methode mit PreparedStatement)? Ich möchte zentral einmal die Verbindung aufbauen und diese dann mehrfach nutzen.

Vielen Dank für eure Hilfe!

Grüße, Frank

Java:
public class MySQL {

  public static void Queries(String URL, String USERNAME, String PASSWORD) {  
    try {
  // connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
  Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
    PreparedStatement ps = conn.prepareStatement("SELECT lastname FROM employees WHERE ID=2");
  
  ResultSet rs = ps.executeQuery();
  
  MessageBox.show("MYSQL OK", "MYSQL");
  
  while (rs.next())
  
  // label.setText(rs.getString(1));
  ps.close();
  conn.close();
    } catch (SQLException e) {
  MessageBox.show("Fehler bei der Datenbankabfrage", "Fehler");
  e.printStackTrace();
    }
    }
}
 
Zuletzt bearbeitet von einem Moderator:

thet1983

Top Contributor
schreib dir eine klasse die die Connection verwaltet
zb.
Java:
public class ConnectionManager{
  Connection conn;
 
  public static Connection connect(){
     if(conn == null)
        // lade drivermanager / class etc..
     return conn;
  }
}

und wenn du die in einer anderen klasse benötigst dann machst du vom Connection Object
Getter und Setter
zb.
Java:
Connection connection;
public getConnection(){return connection;}
public void setConnection(Connection connection){this.connection = connection;}

// bei der verwendung in einer anderen klasse schreibst du dann 
setConnection(ConnectionManager.connect());
// oder du lädst eine connection und reichst sie immer weiter von klasse zu klasse
classB.setConnection(getConnection()/*classA*/);
 
K

kneitzel

Gast
Also ein generelles Pattern, das sehr oft verwendet wird, ist ein komplett anderes:
Eine Connection wird, wann immer diese benötigt wird, geöffnet und dann wieder geschlossen.
Es wird keine Connection geöffnet um diese dann geöffnet zu lassen und immer wieder neu zu nutzen.

Wieso ist dies so?
Wenn Du eine Connection immer wieder weiter verwenden willst, dann müsstest Du immer den Status der Connection überprüfen. Die Connection kann ungültig werden weil es z.B. einen Timeout gab oder so. Dies ist aber eine Arbeit, die einfach unnötig ist.
Desweiteren musst Du so keine Angst haben, wenn Du Verbindungen mit mehreren Threads verwendest. Ist deine zentrale Connection gerade in Benutzung oder ist diese frei?

Jetzt wirst Du evtl. einwenden, dass es aber doch zuviel Zeit kostet, immer eine Verbindung zu öffnen wenn man diese benötigt. Daher würde es Sinn machen, hier ein Connection Pooling aufzubauen! -> Ja, das ist vollkommen richtig. Dies macht tatsächlich Sinn. Und zwar so viel Sinn, dass dieses Connection Pooling eigentlich bei jeder Datenbank mit vorhanden sind. Bei MySQL gibt es dies auf jeden Fall beim Connector/J:
https://dev.mysql.com/doc/connector...genotes-j2ee-concepts-connection-pooling.html

(In meinen Augen würde ich eigentlich keine Datenbank-Software nutzen, die dies nicht bietet. Das ist einfach eine existenzielle Sache und wenn die fehlt möchte ich nicht wissen, was sonst noch so an Dingen fehlt.)

Konrad
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
A Nach Export mysql Verbindung zur Datenbank nicht möglich, was tun? Datenbankprogrammierung 7
T MySQL Kann Verbindung zur MySQL Datenbank nicht herstellen. Datenbankprogrammierung 4
G MySQL Tables 1:1 verbindung Datenbankprogrammierung 14
N Trennt sich die Verbindung zur DB (MySQL) automatisch? Datenbankprogrammierung 3
G persistence.xml für MySQL - Verbindung Datenbankprogrammierung 6
B MySQL-Verbindung ausschließlich zu localhost möglich Datenbankprogrammierung 7
M Problem mit MYSQL Verbindung Datenbankprogrammierung 7
N Problem mit Verbindung zu externer MySQL Datenbank Datenbankprogrammierung 8
B MySQL Verbindung herstellen | ConnectException Datenbankprogrammierung 2
G SSH Verbindung zur (MySQL-)Datenbank Datenbankprogrammierung 6
S MySQL Verbindung Datenbankprogrammierung 8
Linad persistente MySQL Verbindung oder non persistent? Datenbankprogrammierung 3
G MySQL Verbindung Datenbankprogrammierung 2
C Verbindung zur MySQL Datenbank scheiter. "Bad handshake Datenbankprogrammierung 2
M verbindung zu mysql Datenbankprogrammierung 2
K keine Verbindung zu mysql Datenbank Datenbankprogrammierung 11
L Verbindung zu MySQL-Datenbank Datenbankprogrammierung 2
G JDBC Verbindung zu MySQL-Server auf lokalem Rechner Datenbankprogrammierung 5
G linux mysql keine verbindung Datenbankprogrammierung 8
L Wie geht Verbindung zu MySQL? Datenbankprogrammierung 5
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
S Datenbank MySQL und Java Datenbankprogrammierung 8
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
D MySQL Connection richtig herstellen. Wie ? Datenbankprogrammierung 7
D Multiple Connection mit MySQL Datenbankprogrammierung 4
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
D MySQL Zeilen kumulieren Datenbankprogrammierung 8
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
K Servlet-MySQL DB Datenbankprogrammierung 2
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
D Datumsformat aus MySQL ändern Datenbankprogrammierung 15
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K MySQL LAN-MySQL Server mit XAMPP Datenbankprogrammierung 2
R ERModel der Datebanken (ORACLE,MySQL,MS-SQL usw) Datenbankprogrammierung 4
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
K Anfängerfrage CSV in MySQL Datenbankprogrammierung 41
I MySQL Wert nachträglich bearbeiten Datenbankprogrammierung 1
N MySQL Datenbank lokal Datenbankprogrammierung 3
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
B MySQL installieren - silent / User anlegen Datenbankprogrammierung 3
X MySQL Verbindungdsaufbau MySql auf Ubuntu-Server Datenbankprogrammierung 10
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
M MySQL MySQL DATETIME-Import Datenbankprogrammierung 9
P MySQL Connection Global Datenbankprogrammierung 13
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
M In MySql Datenbank schreiben Datenbankprogrammierung 6
D mySQL Timestamp in RegularTimePeriod bzw Second Datenbankprogrammierung 3
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
windl MySQL und HSQLDB Datenbankprogrammierung 4
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0

Ähnliche Java Themen

Neue Themen


Oben