Πώς να συνδεθείτε σε μια βάση δεδομένων MySQL με Java

Πώς να συνδεθείτε σε μια βάση δεδομένων MySQL με Java

Η Java παρέχει JDBC (Java DataBase Connectivity) ως μέρος του Java SDK (Κιτ ανάπτυξης λογισμικού). Χρησιμοποιώντας αυτό ΦΩΤΙΑ , είναι πολύ εύκολο να συνδεθείτε σε μια σχεσιακή βάση δεδομένων και να εκτελέσετε κοινές λειτουργίες όπως η αναζήτηση, η εισαγωγή, η ενημέρωση και η διαγραφή εγγραφών.





Ενώ το βασικό JDBC API περιλαμβάνεται στη Java, η σύνδεση σε μια συγκεκριμένη βάση δεδομένων όπως MySQL ή SQL Server απαιτεί ένα πρόσθετο στοιχείο γνωστό ως πρόγραμμα οδήγησης βάσης δεδομένων. Αυτό το πρόγραμμα οδήγησης βάσης δεδομένων είναι ένα στοιχείο λογισμικού που μεταφράζει τις βασικές κλήσεις JDBC σε μορφή κατανοητή από αυτήν τη βάση δεδομένων.





android 7 μετακινήστε εφαρμογές στην κάρτα sd

Σε αυτό το άρθρο, ας ρίξουμε μια ματιά στις λεπτομέρειες σύνδεσης σε μια βάση δεδομένων MySQL και πώς να εκτελέσετε μερικά ερωτήματα με αυτήν.





Το πρόγραμμα οδήγησης βάσης δεδομένων MySQL

Όπως εξηγήθηκε παραπάνω, για να μπορέσετε να συνδεθείτε σε μια βάση δεδομένων MySQL, χρειάζεστε το πρόγραμμα οδήγησης JDBC για MySQL. Αυτό ονομάζεται πρόγραμμα οδήγησης Connector/J και μπορείτε να το κατεβάσετε από ο ιστότοπος MySQL εδώ.

Μόλις κατεβάσετε το αρχείο ZIP (ή TAR.GZ), εξαγάγετε το αρχείο και αντιγράψτε το αρχείο JAR mysql-connector-java-bin.jar σε κατάλληλη τοποθεσία. Αυτό το αρχείο απαιτείται για την εκτέλεση οποιουδήποτε κωδικού που χρησιμοποιεί το πρόγραμμα οδήγησης MySQL JDBC.



Δημιουργία δείγματος βάσης δεδομένων

Υποθέτοντας ότι έχετε κατεβάσει τη βάση δεδομένων MySQL και ρυθμίστε το σωστά όπου έχετε πρόσβαση σε αυτήν, αφήστε μας να δημιουργήσουμε ένα δείγμα βάσης δεδομένων, ώστε να μπορούμε να το χρησιμοποιήσουμε για σύνδεση και εκτέλεση ερωτημάτων.

Συνδεθείτε στη βάση δεδομένων χρησιμοποιώντας έναν πελάτη της επιλογής σας και εκτελέστε τις ακόλουθες προτάσεις για να δημιουργήσετε ένα δείγμα βάσης δεδομένων.





create database sample;

Χρειαζόμαστε επίσης ένα όνομα χρήστη και έναν κωδικό πρόσβασης για να μπορέσουμε να συνδεθούμε στη βάση δεδομένων (εκτός αν θέλετε να συνδεθείτε ως διαχειριστής, κάτι που γενικά είναι κακή ιδέα).

Τα παρακάτω δημιουργούν έναν χρήστη με όνομα δοκιμαστής ποιος θα συνδεθεί στη βάση δεδομένων MySQL από το ίδιο μηχάνημα όπου λειτουργεί (υποδεικνύεται από localhost ), χρησιμοποιώντας τον κωδικό πρόσβασης safepwd Το





create user 'testuser'@'localhost' identified by 'securepwd';

Εάν συνδέεστε σε μια βάση δεδομένων που λειτουργεί σε άλλο μηχάνημα (με όνομα remotemc ), πρέπει να χρησιμοποιήσετε τα ακόλουθα ( remotemc μπορεί να είναι όνομα κεντρικού υπολογιστή ή διεύθυνση IP):

create user 'testuser'@'remotemc' identified by 'securepwd';

Τώρα που δημιουργήθηκε το όνομα χρήστη και ο κωδικός πρόσβασης, πρέπει να παραχωρήσουμε πρόσβαση στο δείγμα της βάσης δεδομένων που δημιουργήθηκε προηγουμένως.

grant all on sample.* to 'testuser'@'localhost';

Or, εάν η βάση δεδομένων είναι απομακρυσμένη:

grant all on sample.* to 'testuser'@'remotemc';

Θα πρέπει τώρα να επαληθεύσετε ότι μπορείτε συνδεθείτε στη βάση δεδομένων ως χρήστης που μόλις δημιουργήσατε με τον ίδιο κωδικό πρόσβασης. Μπορείτε επίσης να εκτελέσετε τις ακόλουθες εντολές μετά τη σύνδεση, για να βεβαιωθείτε ότι τα δικαιώματα είναι όλα σωστά.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Ρύθμιση διαδρομής Java Class

Ας μπούμε τώρα στις λεπτομέρειες σχετικά με τον τρόπο σύνδεσης στο MySQL από την Java. Το πρώτο βήμα είναι να φορτώσετε το πρόγραμμα οδήγησης βάσης δεδομένων. Αυτό γίνεται με την επίκληση των παρακάτω σε κατάλληλη τοποθεσία.

πώς να μορφοποιήσετε μια μονάδα usb
Class.forName('com.mysql.jdbc.Driver');

Ο κώδικας θα μπορούσε να οδηγήσει σε εξαίρεση, ώστε να μπορείτε να τον πιάσετε εάν σκοπεύετε να τον αντιμετωπίσετε (όπως η μορφοποίηση του μηνύματος σφάλματος για GUI).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Είναι πολύ συνηθισμένο να γίνεται επίκληση αυτού του κώδικα σε ένα στατικό μπλοκ στην τάξη, οπότε το πρόγραμμα αποτυγχάνει αμέσως εάν δεν είναι δυνατή η φόρτωση του προγράμματος οδήγησης.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

Φυσικά, για να είναι δυνατή η εύρεση του προγράμματος οδήγησης, το πρόγραμμα πρέπει να επικαλεστεί με το πρόγραμμα οδήγησης JAR (που έχει ληφθεί και εξαχθεί παραπάνω) να συμπεριληφθεί στη διαδρομή της τάξης ως εξής.

java -cp mysql-connector-java-bin.jar: ...

Σύνδεση με MySQL από Java

Τώρα που έχουμε τετραγωνίσει τις λεπτομέρειες φόρτωσης του προγράμματος οδήγησης MySQL από τη Java, ας συνδεθούμε με τη βάση δεδομένων. Ένας τρόπος δημιουργίας σύνδεσης βάσης δεδομένων είναι η χρήση του DriverManager Το

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

Και τι είναι το jdbcUrl ; Υποδεικνύει τις λεπτομέρειες της σύνδεσης, συμπεριλαμβανομένου του διακομιστή όπου βρίσκεται η βάση δεδομένων, το όνομα χρήστη και ούτω καθεξής. Εδώ είναι ένα δείγμα URL για το παράδειγμά μας.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

Παρατηρήστε ότι έχουμε συμπεριλάβει όλες τις παραμέτρους που απαιτούνται για τη σύνδεση, συμπεριλαμβανομένου του ονόματος κεντρικού υπολογιστή ( localhost ), όνομα χρήστη και κωδικός. (Ο κωδικός πρόσβασης όπως αυτός ΔΕΝ είναι καλή πρακτική, δείτε παρακάτω για εναλλακτικές λύσεις.)

Χρησιμοποιώντας αυτό jdbcUrl , εδώ είναι ένα πλήρες πρόγραμμα ελέγχου της συνδεσιμότητας.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

Σημειώστε ότι μια σύνδεση βάσης δεδομένων είναι ένας πολύτιμος πόρος σε ένα πρόγραμμα και πρέπει να κλείσει σωστά όπως παραπάνω. Ο παραπάνω κώδικας, ωστόσο, δεν κλείνει τη σύνδεση σε περίπτωση εξαίρεσης. Για να κλείσετε τη σύνδεση σε κανονική ή μη φυσιολογική έξοδο, χρησιμοποιήστε το ακόλουθο μοτίβο:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

Όπως σημειώθηκε παραπάνω, είναι κακή ιδέα να ενσωματώσετε τον κωδικό πρόσβασης στη διεύθυνση URL JDBC. Για να καθορίσετε απευθείας το όνομα χρήστη και τον κωδικό πρόσβασης, μπορείτε να χρησιμοποιήσετε την ακόλουθη επιλογή σύνδεσης.

το youtube χρησιμοποιεί πολλά δεδομένα;
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Ερώτηση της βάσης δεδομένων από την Java

Τώρα που έχει δημιουργηθεί η σύνδεση με τη βάση δεδομένων, ας δούμε πώς να εκτελέσουμε ένα ερώτημα, όπως το ερώτημα της έκδοσης της βάσης δεδομένων:

select version();

Ένα ερώτημα εκτελείται στη java ως εξής. ΕΝΑ Δήλωση δημιουργείται ένα αντικείμενο και εκτελείται ένα ερώτημα χρησιμοποιώντας το executeQuery () μέθοδος που επιστρέφει α ResultSet Το

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Εκτυπώστε την έκδοση από το ResultSet ως εξής. 1 αναφέρεται στο ευρετήριο της στήλης στα αποτελέσματα, ξεκινώντας από το 1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

Μετά την επεξεργασία των αποτελεσμάτων, τα αντικείμενα πρέπει να κλείσουν.

rset.close();
stmt.close();

Και αυτό καλύπτει το μόνο που υπάρχει για τη σύνδεση στο MySQL από τη Java και την εκτέλεση ενός απλού ερωτήματος.

Δείτε επίσης το δικό μας Οι εντολές SQL εξαπατούν φύλλο Το

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Είναι εντάξει η εγκατάσταση των Windows 11 σε μη συμβατό υπολογιστή;

Μπορείτε τώρα να εγκαταστήσετε τα Windows 11 σε παλαιότερους υπολογιστές με το επίσημο αρχείο ISO ... αλλά είναι καλή ιδέα να το κάνετε;

Διαβάστε Επόμενο
Σχετικά θέματα
  • Προγραμματισμός
  • Ιάβα
  • SQL
Σχετικά με τον Συγγραφέα Jay Sridhar(Δημοσιεύθηκαν 17 άρθρα) Περισσότερα από τον Jay Sridhar

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή