java jdbc tutorial what is jdbc
Ξεκινώντας με τα βασικά, αυτό το σεμινάριο JDBC εξηγεί στοιχεία, αρχιτεκτονική και τύπους προγραμμάτων οδήγησης στο Java Database Connectivity (JDBC):
Αυτό το σεμινάριο εξηγεί τι είναι το JDBC, τις εκδόσεις του που έχουν κυκλοφορήσει μέχρι τώρα, ποιες είναι οι προϋποθέσεις που απαιτούνται πριν προχωρήσετε στο JDBC, τους τύπους προγραμμάτων οδήγησης κ.λπ. Στο τέλος αυτού του σεμιναρίου, θα γνωρίζετε τα βασικά στοιχεία της Java Database Connectivity ή JDBC και πού μπορούμε να το χρησιμοποιήσουμε.
Ας ξεκινήσουμε αυτό το σεμινάριο με βασικά στοιχεία του JDBC.
Τι θα μάθετε:
Λίστα εκμάθησης Java JDBC
Εκμάθηση # 1: Τι είναι το JDBC (Συνδεσιμότητα βάσης δεδομένων Java) (Αυτό το σεμινάριο)
Εκμάθηση # 2: Εκμάθηση σύνδεσης Java JDBC με παράδειγμα προγραμματισμού
Εκμάθηση # 3: JDBC DriverManager, JDBC PreparedStatement And Statement
Εκμάθηση # 4: JDBC ResultSet: Τρόπος χρήσης Java ResultSet για ανάκτηση δεδομένων
Εκμάθηση # 5: Διαχείριση συναλλαγών Java JDBC με παράδειγμα
Εκμάθηση # 6: Χειρισμός εξαιρέσεων JDBC - Τρόπος χειρισμού εξαιρέσεων SQL
Εκμάθηση # 7: Εγχειρίδιο επεξεργασίας παρτίδων JDBC και αποθήκευσης διαδικασιών
Εκμάθηση # 8: Κορυφαίες 25+ ερωτήσεις και απαντήσεις συνέντευξης JDBC
Τι είναι το JDBC
Στις περισσότερες από τις εφαρμογές Java, υπάρχει πάντα ανάγκη αλληλεπίδρασης με βάσεις δεδομένων για ανάκτηση, χειρισμό και επεξεργασία των δεδομένων. Για το σκοπό αυτό, έχει εισαχθεί το Java JDBC.
Το JDBC είναι η κοινώς χρησιμοποιούμενη σύντομη φόρμα για σύνδεση βάσης δεδομένων Java. Χρησιμοποιώντας το JDBC, μπορούμε να αλληλεπιδράσουμε με διαφορετικούς τύπους σχεσιακών βάσεων δεδομένων όπως Oracle, MySQL, MS Access κ.λπ.
Πριν από το JDBC, το ODBC API εισήχθη για σύνδεση και εκτέλεση λειτουργιών με τη βάση δεδομένων. Το ODBC χρησιμοποιεί ένα πρόγραμμα οδήγησης ODBC που εξαρτάται από την πλατφόρμα επειδή γράφτηκε σε γλώσσα προγραμματισμού C. Το JDBC API είναι γραμμένο σε γλώσσα Java, είναι ανεξάρτητο από την πλατφόρμα και καθιστά το Java ανεξάρτητο από την πλατφόρμα.
Το παρακάτω διάγραμμα δείχνει τη βασική ροή του JDBC:
Εκδόσεις του JDBC
Αρχικά, η Sun Microsystems κυκλοφόρησε το JDBC στο JDK 1.1 στις 19 Φεβρουαρίου 1997. Μετά από αυτό, ήταν μέρος της πλατφόρμας Java.
Ο παρακάτω πίνακας περιέχει εκδόσεις και υλοποιήσεις JDBC:
Έκδοση JDBC | Εφαρμογή JDK | Ετος |
---|---|---|
JDBC 4.3 | Java SE 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | JDK 1.4 | 2001 |
JDBC 4.0 | Java SE 6 | 2006 |
JDBC 4.1 | Java SE 7 | 2011 |
JDBC 4.2 | Java SE 8 | 2014 |
Προαπαιτούμενο
Πριν προχωρήσετε με το πρόγραμμα εκμάθησης JDBC, πρέπει να έχετε καλές γνώσεις για την Java, ώστε να μπορείτε να χρησιμοποιήσετε το JDBC σε προγράμματα Java.
=> Συνιστώμενη ανάγνωση: Μαθήματα Java
Οι προϋποθέσεις για την εφαρμογή του JDBC σε εφαρμογές Java είναι οι εξής:
1. Η Java πρέπει να εγκατασταθεί στο σύστημα όπου θέλετε να δημιουργήσετε εφαρμογή Java και να χρησιμοποιήσετε το JDBC.
Ανατρέξτε σε αυτό Σύνδεσμος για εγκατάσταση Java.
2. Θα πρέπει να έχετε κατάλληλα αρχεία βάζων προγράμματος οδήγησης JDBC για σύνδεση με DBMS. Κάθε βάση δεδομένων έχει διαφορετικά αρχεία βάζων προγράμματος οδήγησης JDBC.
Μπορείτε να κατεβάσετε αυτά τα αρχεία για τη συγκεκριμένη βάση δεδομένων χρησιμοποιώντας τους συνδέσμους στον παρακάτω πίνακα:
Βάση δεδομένων με σύνδεσμο λήψης | Όνομα παρόχου προγράμματος οδήγησης JDBC | Όνομα αρχείου JAR |
---|---|---|
MySQL | Oracle Corporation | MySQLmysql-connector-java-VERSION.jar |
Μαντείο | Oracle Corporation | Μαντείοojdbc8.jar |
Διακομιστής SQL | Microsoft Corporation | Διακομιστής SQLsqljdbc41.jar, sqljdbc42.jar |
Postgre SQL | Ομάδα παγκόσμιας ανάπτυξης PostgreSQL | Postgre SQLpostgresql-VERSION.jar |
SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
Πρόσβαση MS | UCanAccess.com | Πρόσβαση MSucanaccess-VERSION.jar |
Τύποι προγραμμάτων οδήγησης στο JDBC
Τώρα, ας συζητήσουμε τους τύπους του προγράμματος οδήγησης στο JDBC για να σας βοηθήσουμε να επιλέξετε αυτό που είναι κατάλληλο για το πρόγραμμά σας.
Όλα τα RDMS (Relational Database Management System) χρειάζονται ένα πρόγραμμα οδήγησης εάν πρόκειται να έχουν πρόσβαση από έξω από το σύστημά τους. Επομένως, απαιτείται το πρόγραμμα οδήγησης JDBC για την εκτέλεση ερωτημάτων SQL και τη λήψη του αποτελέσματος από τη βάση δεδομένων.
Υπάρχουν 4 διαφορετικοί τύποι προγραμμάτων οδήγησης που διατίθενται στο JDBC. Ταξινομούνται με βάση την τεχνική που χρησιμοποιείται για πρόσβαση σε μια βάση δεδομένων.
Έχουν ως εξής:
- Τύπος I: JDBC- ODBC Bridge
- Τύπος II: Εγγενής APT - Εν μέρει πρόγραμμα οδήγησης Java
- Τύπος III: Πρωτόκολλο δικτύου - Πρόγραμμα οδήγησης Java πλήρως
- Τύπος IV: Λεπτό πρόγραμμα οδήγησης - Πλήρως πρόγραμμα οδήγησης Java
Τύπος I: JDBC- ODBC Bridge
Σε αυτόν τον τύπο προγράμματος οδήγησης, το JDBC - ODBC Bridge ενεργεί ως διεπαφή μεταξύ πελάτη και διακομιστή DB. Όταν ένας χρήστης χρησιμοποιεί την εφαρμογή Java για να στείλει αιτήματα στη βάση δεδομένων χρησιμοποιώντας JDBC - ODBC Bridge, μετατρέπει πρώτα το JDBC API σε ODBC API και στη συνέχεια το στέλνει στη βάση δεδομένων. Όταν το αποτέλεσμα ληφθεί από το DB, αποστέλλεται στο ODBC API και στη συνέχεια στο JDBC API.
Αυτό το πρόγραμμα οδήγησης εξαρτάται από την πλατφόρμα επειδή χρησιμοποιεί ODBC που εξαρτάται από την εγγενή βιβλιοθήκη του λειτουργικού συστήματος. Σε αυτόν τον τύπο, το πρόγραμμα οδήγησης JDBC - ODBC πρέπει να εγκατασταθεί σε κάθε σύστημα πελάτη και η βάση δεδομένων πρέπει να υποστηρίζει το πρόγραμμα οδήγησης ODBC.
Όταν δεν έχει σημασία για την εγκατάσταση στον υπολογιστή-πελάτη, μπορούμε να χρησιμοποιήσουμε αυτό το πρόγραμμα οδήγησης. Είναι εύκολο στη χρήση, αλλά δίνει χαμηλή απόδοση λόγω της μετατροπής των κλήσεων μεθόδου JDBC σε κλήσεις μεθόδου ODBC.
Σημείωση: Διατίθεται στο JDK 1.2
Το Java 8 δεν υποστηρίζει αυτόν τον τύπο προγράμματος οδήγησης. Η Oracle συνιστά στον χρήστη να κάνει χρήση των προγραμμάτων οδήγησης JDBC που παρέχονται από τους προμηθευτές βάσης δεδομένων τους.
Εικόνα: Τύπος I: Πρόγραμμα οδήγησης JDBC - ODBC Bridge
Τύπος II: Εγγενές API - Εν μέρει πρόγραμμα οδήγησης Java
Είναι παρόμοιο με το πρόγραμμα οδήγησης τύπου Ι. Εδώ, το μέρος ODBC αντικαθίσταται με εγγενή κώδικα στο πρόγραμμα οδήγησης τύπου II. Αυτό το τμήμα εγγενούς κώδικα στοχεύει σε ένα συγκεκριμένο προϊόν βάσης δεδομένων. Χρησιμοποιεί τις βιβλιοθήκες της πλευράς πελάτη της βάσης δεδομένων. Αυτό το πρόγραμμα οδήγησης μετατρέπει τις κλήσεις μεθόδου JDBC σε εγγενείς κλήσεις του εγγενούς API της βάσης δεδομένων.
Όταν η βάση δεδομένων λαμβάνει τα αιτήματα από τον χρήστη, τα αιτήματα υποβάλλονται σε επεξεργασία και επιστρέφονται με τα αποτελέσματα στη μητρική μορφή που πρόκειται να μετατραπούν σε μορφή JDBC και να την δώσουν στην εφαρμογή Java.
Υιοθετήθηκε αμέσως από τους προμηθευτές DB επειδή ήταν γρήγορο και φθηνό να εφαρμοστεί. Είναι επίσης στη μητρική μορφή του DB.
Αυτός ο τύπος προγράμματος οδήγησης δίνει ταχύτερη απόκριση και απόδοση από το πρόγραμμα οδήγησης τύπου Ι.
Εικόνα: Τύπος II: Εγγενής APT - Εν μέρει πρόγραμμα οδήγησης Java
Τύπος III: Πρωτόκολλο δικτύου
Το πρόγραμμα οδήγησης τύπου III είναι πλήρως γραμμένο σε Java. Είναι σαν μια προσέγγιση 3 βαθμίδων για πρόσβαση στη βάση δεδομένων. Στέλνει τις κλήσεις μεθόδου JDBC σε έναν ενδιάμεσο διακομιστή. Εκ μέρους του JDBC, ο ενδιάμεσος διακομιστής επικοινωνεί με τη βάση δεδομένων. Ο διακομιστής εφαρμογών (ενδιάμεσος ή μεσαίου επιπέδου) μετατρέπει τις κλήσεις JDBC είτε άμεσα είτε έμμεσα στο πρωτόκολλο βάσης δεδομένων για συγκεκριμένο προμηθευτή.
Αυτή η προσέγγιση δεν αυξάνει την απόδοση της αρχιτεκτονικής και είναι επίσης δαπανηρή, λόγω αυτού οι περισσότεροι προμηθευτές βάσεων δεδομένων δεν προτιμούν αυτό το πρόγραμμα οδήγησης. Δεδομένου ότι χρησιμοποιείται ο διακομιστής εφαρμογών, πρέπει να έχετε καλές γνώσεις σχετικά με το διακομιστή εφαρμογών για να χρησιμοποιήσετε αυτήν την προσέγγιση αποτελεσματικά.
Εικόνα: Τύπος III: Πρωτόκολλο δικτύου - Πρόγραμμα οδήγησης πλήρους Java
Τύπος IV: Λεπτό πρόγραμμα οδήγησης
Το πρόγραμμα οδήγησης τύπου IV εφαρμόζεται άμεσα που μετατρέπει τις κλήσεις JDBC απευθείας σε πρωτόκολλο βάσης δεδομένων για συγκεκριμένους προμηθευτές. Σήμερα, τα περισσότερα προγράμματα οδήγησης JDBC είναι προγράμματα οδήγησης τύπου IV. Είναι γραμμένο πλήρως στην Java και επομένως είναι ανεξάρτητο από την πλατφόρμα. Είναι εγκατεστημένο μέσα στο JVM (Java Virtual Machine) του πελάτη, επομένως δεν χρειάζεται να εγκαταστήσετε κανένα λογισμικό στον υπολογιστή-πελάτη ή στον διακομιστή. Αυτή η αρχιτεκτονική προγράμματος οδήγησης έχει όλη τη λογική να επικοινωνεί απευθείας με το DB σε ένα μόνο πρόγραμμα οδήγησης.
Παρέχει καλύτερη απόδοση από τον άλλο τύπο προγραμμάτων οδήγησης. Επιτρέπει την εύκολη ανάπτυξη. Σήμερα, αυτός ο τύπος προγράμματος οδήγησης έχει αναπτυχθεί από τον ίδιο τον προμηθευτή βάσεων δεδομένων, έτσι ώστε οι προγραμματιστές να μπορούν να το χρησιμοποιούν απευθείας χωρίς εξάρτηση από άλλες πηγές.
Εικόνα: Τύπος IV: Λεπτό πρόγραμμα οδήγησης - Πρόγραμμα οδήγησης πλήρως Java
Εφαρμογές του JDBC
Το JDBC μπορεί να χρησιμοποιηθεί σε εφαρμογές Java, Applets, Servlets ή σε οποιοδήποτε άλλο πρόγραμμα Java όπου θέλετε να συνδεθείτε με DB.
Για παράδειγμα, Αυτόνομες εφαρμογές, ιστότοποι, τραπεζικές εφαρμογές κ.λπ.,
Αρχιτεκτονική και συστατικά του JDBC
Αρχιτεκτονική JDBC: Υποστηρίζει δύο τύπους μοντέλων επεξεργασίας για πρόσβαση στο DB.
Αυτά είναι:
- Αρχιτεκτονική δύο επιπέδων
- Αρχιτεκτονική τριών επιπέδων
# 1) Αρχιτεκτονική δύο επιπέδων:
Βοηθά την εφαρμογή Java να συνδεθεί απευθείας με τη βάση δεδομένων. Χρειάζεται ένα πρόγραμμα οδήγησης JDBC για την επικοινωνία με ένα συγκεκριμένο DB. Ο χρήστης στέλνει τα αιτήματα στο DB και λαμβάνει την απάντηση απευθείας χωρίς διαμεσολαβητή εκτός από το πρόγραμμα οδήγησης JDBC. Η βάση δεδομένων, είτε στον ίδιο υπολογιστή είτε σε ένα απομακρυσμένο μηχάνημα συνδέεται μέσω δικτύου. Μπορεί να κληθεί ως αρχιτεκτονική πελάτη-διακομιστή.
# 2) Αρχιτεκτονική τριών επιπέδων:
Είναι το αντίθετο της αρχιτεκτονικής δύο επιπέδων. Δεν υπάρχει άμεση επικοινωνία μεταξύ του χρήστη και της βάσης δεδομένων. Ο χρήστης στέλνει το αίτημα στη μεσαία βαθμίδα (Application Server) από την οποία το αίτημα αποστέλλεται ξανά στη βάση δεδομένων. Στη συνέχεια, η βάση δεδομένων επεξεργάζεται το αίτημα και στέλνει το αποτέλεσμα στη μεσαία βαθμίδα από την οποία ο χρήστης λαμβάνει το αποτέλεσμα / απάντηση.
Απλοποιεί την ανάπτυξη και τη διαχείριση. Οι διευθυντές του Συστήματος Πληροφοριών Διαχείρισης (MIS) χρησιμοποιούν αυτήν την αρχιτεκτονική καθώς καθιστά απλή τη διατήρηση ελέγχου πρόσβασης και ενημερώσεων σε εταιρικά δεδομένα.
Αρχιτεκτονική τριών επιπέδων
Συστατικά του JDBC
Υπάρχουν 4 βασικά στοιχεία διαθέσιμα στο JDBC. Αυτοί είναι:
- API JDBC
- Διευθυντής προγράμματος οδήγησης JDBC
- JDBC Test Suite
- JDBC - ODBC Bridge
# 1) API JDBC: Παρέχει πρόσβαση σε σχεσιακές βάσεις δεδομένων από οποιοδήποτε πρόγραμμα Java. Το JDBC API διαθέτει ένα σύνολο κλάσεων και διεπαφών που είναι γραμμένα σε Java που παρέχουν ένα τυπικό εργαλείο / API για προγραμματιστές. Χρησιμοποιώντας το JDBC API, μπορείτε να δημιουργήσετε και να εκτελέσετε ερωτήματα SQL, να λάβετε το αποτέλεσμα και να πραγματοποιήσετε αλλαγές στα δεδομένα και να αποθηκεύσετε τα αποτελέσματα στη βάση δεδομένων.
Μπορεί να αλληλεπιδράσει με πολλές βάσεις δεδομένων όπως Oracle, MySQL, MS Access από ένα μόνο πρόγραμμα Java. Με το JDBC API, δεν είναι απαραίτητο να γράψετε ένα πρόγραμμα για πρόσβαση στο Oracle DB, ένα άλλο πρόγραμμα για πρόσβαση στη MySQL, ένα άλλο πρόγραμμα για πρόσβαση στο MS Access και ούτω καθεξής.
Το JDBC API είναι ένα μέρος της πλατφόρμας Java που διαθέτει τόσο την Java Standard Edition (Java SE) όσο και την Java Enterprise Edition (Java EE).
Το JDBC 4.0 API έχει 2 πακέτα.
- Java.sql
- Javax.sql
Και τα δύο πακέτα είναι διαθέσιμα σε Java SE και Java EE.
# 2) Διαχειριστής προγράμματος οδήγησης JDBC: Το παραδοσιακό επίπεδο διαχείρισης του JDBC είναι το Driver Manager και λειτουργεί ως διεπαφή μεταξύ του χρήστη και των προγραμμάτων οδήγησης. Διατηρεί τις λεπτομέρειες παρακολούθησης των προγραμμάτων οδήγησης που είναι διαθέσιμες και δημιουργεί μια σύνδεση μεταξύ της βάσης δεδομένων και του κατάλληλου προγράμματος οδήγησης. Ορίζει τα αντικείμενα που μπορούν να συνδέσουν την εφαρμογή Java με το πρόγραμμα οδήγησης JDBC. Έτσι, είναι η ραχοκοκαλιά του JDBC API.
Θα συζητήσουμε το Driver Manager στο επόμενο σεμινάριο.
# 3) JDBC Test Suite: Σας βοηθά να βρείτε αν τα προγράμματα οδήγησης JDBC θα εκτελέσουν το πρόγραμμα ή όχι. Παρέχει την εμπιστοσύνη και τη συμμόρφωση ότι το πρόγραμμα θα εκτελείται από προγράμματα οδήγησης JDBC.
# 4) JDBC- ODBC Bridge: Αυτό χρησιμοποιεί προγράμματα οδήγησης ODBC ως προγράμματα οδήγησης JDBC. Είναι παρόμοιο με το πρόγραμμα οδήγησης TYPE I που καλύπτεται ήδη στην ενότητα τύπων προγραμμάτων οδήγησης σε αυτό το σεμινάριο.
Βασικά σημεία που πρέπει να σημειωθούν:
- Το JDBC χρησιμοποιείται για την αλληλεπίδραση με τη βάση δεδομένων από οποιοδήποτε πρόγραμμα Java, όπως εφαρμογή Java, Applets, Servlets.
- Η τελευταία έκδοση του JDBC είναι JDBC 4.3 Είναι σταθερή κυκλοφορία από τις 21αγΣεπ 2017.
- Πρόγραμμα οδήγησης τύπου Ι: JDBC ODBC Bridge - εύκολο στη χρήση, αλλά το ODBC εξαρτάται από την πλατφόρμα. Είναι επίσης πρόγραμμα οδήγησης χαμηλών επιδόσεων.
- Πρόγραμμα οδήγησης τύπου II: Native API - Το τμήμα εγγενών κωδικών αντικατέστησε το μέρος ODBC στο πρόγραμμα οδήγησης τύπου I και στοχεύει σε ένα συγκεκριμένο προϊόν βάσης δεδομένων. Είναι ταχύτερο από το πρόγραμμα οδήγησης τύπου Ι.
- Πρόγραμμα οδήγησης τύπου III: Το Middle Tier ή Application Server χρησιμοποιείται ως διεπαφή μεταξύ του προγράμματος οδήγησης JDBC και της βάσης δεδομένων. Απαιτείται γνώση του Application Server για την αποτελεσματική χρήση του.
- Πρόγραμμα οδήγησης τύπου IV: Το πρόγραμμα οδήγησης JDBC επικοινωνεί αμέσως με τη βάση δεδομένων. Οι προμηθευτές βάσης δεδομένων χρησιμοποιούν αυτόν τον τύπο προγράμματος οδήγησης και το παρέχουν σε πελάτες ή προγραμματιστές.
- Το JDBC μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόγραμμα είναι γραμμένο σε γλώσσα Java.
συμπέρασμα
Σε αυτό το σεμινάριο JDBC, μάθαμε για τα βασικά στοιχεία του JDBC και τις προϋποθέσεις που απαιτούνται πριν προχωρήσουμε στο JDBC. Έχουμε δει τις εκδόσεις του και 4 τύπους προγραμμάτων οδήγησης που βοηθούν τους προγραμματιστές να αποφασίσουν τον τύπο προγράμματος οδήγησης που θα χρησιμοποιηθεί σε προγράμματα.
Συζητήσαμε επίσης την αρχιτεκτονική του JDBC και τα 4 βασικά του στοιχεία.
Συνιστώμενη ανάγνωση
- JDBC DriverManager, JDBC PreparedStatement And Statement
- Tutorial ChromeDriver Selenium: Δοκιμές Webdriver Selenium στο Chrome
- Εκμάθηση Java SWING: Container, Components and Event Handling
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- Πλαίσιο βάσει δεδομένων στο Selenium WebDriver με χρήση Apache POI
- Χειρισμός iFrames Χρησιμοποιώντας τη μέθοδο Selenium WebDriver switchTo ()
- Δοκιμή προσβασιμότητας με Selenium Webdriver με παράδειγμα κώδικα
- Πώς να εκτελέσετε το Selenium WebDriver σε διαφορετικά δημοφιλή προγράμματα περιήγησης