Το πρόγραμμα οδήγησης JDBC για τη MySQL ονομάζεται MySQL :: Connector /J , και είναι μια πολύ εμπεριστατωμένη εφαρμογή του JDBC API . Ο οδηγός θα είναι ένα αρχείο JAR που πρέπει να βρίσκονται στο classpath Java . Η πιο κοινή Java IDE , ιδιαίτερα Eclipse και Netbeans , θα το κάνει αυτό για σας , αρκεί να αναφέρονται το αρχείο προγράμματος οδήγησης ως βιβλιοθήκη . Επιπλέον , προκειμένου να χρησιμοποιήσουν εντολές από το JDBC API , θα πρέπει να εισάγετε την ακόλουθη εντολή στο επάνω μέρος της κάθε κατηγορίας που θα χρησιμοποιήσουν άμεσα το JDBC
java.sql εισαγωγής * ? . .
Η Εγκατάσταση
Η
Ενώ η JDBC προσπαθεί να κάνει τη χρήση των βάσεων δεδομένων σας σε προγράμματα Java σας όσο το δυνατόν απλούστερη , υπάρχουν μια σειρά από βήματα για να ακολουθήσει για να δημιουργήσει τη σύνδεση βάσης δεδομένων . Δεδομένου ότι είναι δυνατόν να γράψετε ένα πρόγραμμα που περιλαμβάνει πολλαπλά προγράμματα οδήγησης βάσης δεδομένων , πριν από τη σύνδεση με μια βάση δεδομένων θα πρέπει να ενημερώσετε το API των οποίων οδηγού που θα χρησιμοποιήσετε . Για το σκοπό αυτό , μπορείτε να εκτελέσετε τα ακόλουθα : .
Class.forName ( " com.mysql.jdbc.Driver " ) newInstance ( ) ?
Αυτό θα επιστρέψει ένα στιγμιότυπο της κλάσης προγράμματος οδήγησης ( που περιλαμβάνεται στο java.sql ) , και μπορείτε να αποθηκεύσετε την αναφορά στο εν λόγω τμήμα για μελλοντική χρήση , αν σας αρέσει . Ωστόσο , δεν είναι απαραίτητο στις περισσότερες περιπτώσεις . Εάν λάβετε ένα σφάλμα , αυτό πιθανότατα σημαίνει ότι το μονοπάτι τάξη σας δεν έχει ρυθμιστεί σωστά .
Η δημιουργία μιας σύνδεσης
Η
Η σύνδεση της βάσης δεδομένων πρέπει να γίνονται με τη χρήση μια διεύθυνση URL ή μια διεύθυνση IP . Εάν η βάση δεδομένων εκτελείται στον ίδιο υπολογιστή με το πρόγραμμα Java , αυτό είναι εύκολο : Η διεύθυνση URL είναι localhost , με μία σημαντική προσθήκη : το πρωτόκολλο ( ή url ) αναγνωριστικό . Ένα γνωστό για το Web είναι το " http://" . Για μια βάση δεδομένων MySQL JDBC , το σωστό αναγνωριστικό πρωτοκόλλου είναι " jdbc : mysql ://"
σύνδεσης conn = DriverManager.getConnection . ( " Jdbc : mysql ://localhost" , το όνομα χρήστη , κωδικό πρόσβασης ) ?
Η ενασχόληση με τα λάθη
Η
Οποιοδήποτε λάθος σχετικά με μια σύνδεση , μια δήλωση ή ένα σύνολο αποτέλεσμα θα είναι του τύπου SQLException . Για περισσότερες λεπτομέρειες σχετικά με το συγκεκριμένο σφάλμα , θα πρέπει να πιάσει SQLException και να εκτυπώσετε το μήνυμα λάθους του στην κονσόλα . Μια πιθανή πηγή σύγχυσης είναι η ταχύτητα με την οποία οι συνδέσεις time out . Υπάρχει άφθονο χρόνο για να συνδεθείτε , εκτελέστε μερικά ερωτήματα και να πάρει τα αποτελέσματα , αλλά είναι σχεδόν βέβαιο ότι υπάρχει χρόνος να περιμένουμε για την είσοδο του χρήστη μετά από μια σύνδεση . Αν θα πρέπει να περιμένετε για την είσοδο του χρήστη , είναι συνήθως μια καλύτερη πρακτική για να αποσυνδεθείτε , να ανακτήσετε την παρέμβαση του χρήστη και , στη συνέχεια, συνδέστε την ξανά για να τρέξει τα ερωτήματα .
Εικόνων Ερωτήματα και
Αποτελέσματα
Υπάρχουν δύο βασικές κατηγορίες για την αλληλεπίδραση με τη βάση δεδομένων μετά τη σύνδεση: η δήλωση και η ResultSet
Δήλωση s = conn.createStatement ( ) ? s.executeQuery ( "SELECT * FROM εργαζόμενοι" ) ? ResultSet rs = s . . getResultSet ( ) ?
Δήλωση απλά στέλνει το string SQL στη βάση δεδομένων , έτσι ώστε τα ερωτήματα θα πρέπει να είναι γραμμένο στη μητρική διάλεκτο της SQL για τη βάση δεδομένων που χρησιμοποιείται . Ένα σημαντικό χαρακτηριστικό ενός ResultSet είναι ότι ανακτά δεδομένα από το διακομιστή μία γραμμή κάθε φορά , και μόνο να ανακτά τα δεδομένα όταν η γραμμή ζήτησε . Ο παραπάνω κώδικας δεν έχει κατεβάσει κανένα αποτέλεσμα ακόμη από το διακομιστή .
Επειδή είναι αδύνατο για τα περισσότερα συστήματα να γνωρίζουν το μέγεθος του αποτελέσματος που πριν από όλα τα αποτελέσματα προέρχονται , είναι καλύτερο να αποθηκεύσετε ένα σύνολο αποτελεσμάτων , τουλάχιστον προσωρινά , μέσα σε μια δομή δεδομένων που μπορεί να αλλάξει το μέγεθός τους αποτελεσματικά . Κατηγορία LinkedList Java είναι ιδανική για αυτό
αποτελέσματα LinkedList = νέα LinkedList ( ) ? . Ενώ ( rs.next ( ) ) { results.add ( rs.getString ( " Όνομα " ) ) ? }
Και , είναι πάντα μια καλή πρακτική να κλείνετε συνδέσεις ρητά , αντί να τους αφήσουμε να χρονικού ορίου :
rs.close ( ) ? s.close ( ) ? conn.Close ( ) ?
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα