Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

Σχετικά έγγραφα
Διαδικτυακές Εφαρμογές Ενότητα 1: JPA

Ειδικά Θέματα Προγραμματισμού

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού

Διαδικτυακές Εφαρμογές Ενότητα 4: Streams

Προγραμματισμός Διαδικτύου

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ειδικά Θέματα Προγραμματισμού

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 9: Ειδικά θέματα γλώσσας C/C++. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Διαδικτύου

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 8: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Προγραμματισμός Διαδικτύου

ΜΑΘΗΜΑ: Διαδικτυακές Εφαρμογές

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Φιλικές συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ειδικά Θέματα Προγραμματισμού

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός H/Y Ενότητα 5: Συναρτήσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Μεταγλωττιστές Ενότητα 1: Εισαγωγή

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Προγραμματισμός Διαδικτύου

ΜΑΘΗΜΑ: Μεταγλωττιστές

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Αντικειμενοστραφής Προγραμματισμός

Υπολογιστικά Συστήματα

Προγραμματισμός Διαδικτύου

Μεταγλωττιστές. Ενότητα 3: Τυπικές γλώσσες (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Διδακτική της Πληροφορικής

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7β: SQL (Πρακτική Εξάσκηση 1) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΜΑΘΗΜΑ: ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θερμοδυναμική - Εργαστήριο

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Αντικειμενοστραφής Προγραμματισμός

Διαδικαστικός Προγραμματισμός

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Σχεδίαση Δικτύων Υπολογιστών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Αυτοματοποιημένη χαρτογραφία

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λογιστικές Εφαρμογές Εργαστήριο

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΜΑΘΗΜΑ: Δίκτυα Υψηλών Ταχυτήτων

Σχεδίαση Δικτύων Υπολογιστών

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστικά Συστήματα

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

Οργάνωση και Διοίκηση Πωλήσεων

Ειδικά Θέματα Δικτύων Ι

Σχεδίαση Δικτύων Υπολογιστών

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Εφαρμογές Πληροφορικής στην Τοπογραφία 13η Ενότητα - Προγραμματισμός στην AutoLISP

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7α: SQL (NULL, Διαίρεση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Εισαγωγή στους Αλγορίθμους

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Λογισμός ΙΙ. Χρήστος Θ. Αναστασίου Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΜΑΘΗΜΑ: Ασύρματες Κινητές Επικοινωνίες

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Σχεδίαση Δικτύων Υπολογιστών

Εισαγωγή στη Διοίκηση Επιχειρήσεων Ενότητα 5: Μέτρηση της απόδοσης της εταιρίας Επίκ. Καθηγητής Θεμιστοκλής Λαζαρίδης Τμήμα Διοίκηση Επιχειρήσεων

Προγραμματισμός Διαδικτύου

Υπολογιστικά Συστήματα

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Εισαγωγή στους Αλγορίθμους

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 1: Ο ΡΟΛΟΣ ΤΩΝ ΠΩΛΗΣΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΑΡΚΕΤΙΝΓΚ

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Transcript:

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα του ΤΕΙ Δυτικής Μακεδονίας και της Ανώτατης Εκκλησιαστικής Ακαδημίας Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Προσπέλαση Βάσης Δεδομένων με το Java Database Connectivity (JDBC)

Σκοποί ενότητας Σε αυτή την ενότητα ασχολούμαστε με την προσπέλαση Βάσεων Δεδομένων (ΒΔ) με το JDBC. 5

Περιεχόμενα ενότητας (1/2) JDBC Application Programming Interface (JDBC Api). Java DB-Apache Derby. Connection. PreparedStatement. Παράδειγμα. 6

Περιεχόμενα ενότητας (2/2) Αγγλικά ερωτηματικά. Επιλογή όλων των πελατών. Επιλογή συγκεκριμένου πελάτη. Περισσότερες πληροφορίες. 7

JDBC Api Τα προγράμματα σε JAVA χρησιμοποιούν για την επικοινωνία τους με τις βάσεις δεδομένων το JDBC Api. Για την σύνδεση στις βάσειν δεδομένων οι Java εφαρμογές χρησιμοποιούν ένα πρόγραμμα οδήγησης JDBC. Περισσότερες πληροφορίες για το JDBC: http://download.oracle.com/docs/cd/b10500_01/java.92 0/a96654.pdf. 8

Java DB-Apache Derby Από την έκδοση JDK 6 και μετά περικλείεται η ανοικτού κώδικα υλοποιημένη σε JAVA βάση δεδομένων Java DB. Πριν από οτιδήποτε θα πρέπει στις μεταβλητές περιβάλλοντος να ορίσουμε τον κατάλογο εγκατάστασης της JAVA. Αν υποθέσουμε ότι έχουμε την έκδοση 1.7 τότε θα πρέπει να ορίσουμε την μεταβλητή περιβάλλοντος JAVA_HOME σε JAVA_HOME=C:\Program Files\Java\jdk1.7.0_10. 9

Connection (1/2) Για να συνδέσουμε το πρόγραμμα με την βάση δεδομένων θα πρέπει να δημιουργήσουμε ένα αντικείμενο Connection και μέσω αυτού του αντικειμένου να επιτρέπεται ο χειρισμός της ΒΔ μέσω Structured Query Language - SQL ερωτημάτων. 10

Connection (2/2) Η αρχικοποίηση του connection γίνεται μέσω της static μεθόδου getconnection η οποία προσπαθεί να συνδεθεί στη ΒΔ σύμφωνα με τις παραμέτρους που της έχουμε δώσει. Στη συνέχεια μπορούμε να δημιουργήσουμε τα PreparedStatement που χρειαζόμαστε και να εισάγουμε, να ενημερώσουμε και να διαβάσουμε εγγραφές στην ΒΔ. 11

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

Παράδειγμα (1/2) 13

Παράδειγμα (2/2) 14

Αγγλικά ερωτηματικά Τα αγγλικά ερωτηματικά στην εντολή Select και στην εντολή Insert είναι θέσεις για τις τιμές που θα εισαχθούν στο τμήμα ερωτήματος της βάσης δεδομένων. Παράδειγμα. 15

Επιλογή όλων των πελατών Η μέθοδος getallcustomers επιστρέφει μια λίστα με όλους τους πελάτες από τη βάση δεδομένων. Αυτό γίνεται εκτελώντας το PreparedStatement selectallcustomers και καλώντας την μέθοδο executequery η οποία επιστρέφει ένα ResultSet το οποίο περιέχει γραμμές που ταιριάζουν με το ερώτημα. Τα αποτελέσματα μπορούν να τοποθετηθούν σε μια συλλογή ArrayList. 16

Επιλογή συγκεκριμένου πελάτη (1/2) Αντίστοιχα μπορεί να δημιουργηθεί μέθοδος η οποία θα δέχεται μία παράμετρο και θα επιστρέφει το όνομα συγκεκριμένου πελάτη εκτελώντας το PreparedStatement selectcustomersbycity. Καλώντας την μέθοδο executequery η οποία επιστρέφει ένα ResultSet το οποίο περιέχει γραμμές που ταιριάζουν με το ερώτημα. Τα αποτελέσματα μπορούν να τοποθετηθούν σε μια συλλογή ArrayList. 17

Επιλογή συγκεκριμένου πελάτη (2/2) 18

Περισσότερες πληροφορίες Ολόκληρη την υλοποίηση του κώδικα μπορείτε να τον βρείτε στις ασκήσεις πράξεις. Περισσότερες πληροφορίες: Oracle JDBC: http://docs.oracle.com/javase/tutorial/jdbc/. Oracle JDBC basics: http://docs.oracle.com/javase/tutorial/jdbc/basics/. Netbeans wiki για JDBC: http://wiki.netbeans.org/getstartedwithjavadb. Tutorial: http://ferdidolot.wordpress.com/2009/06/14/javamysql-jdbc-tutorial-using-netbeans-part-1/. 19

Βιβλιογραφία 1. Java προγραμματισμός, Όγδοη έκδοση, Deitel Paul J., Deitel Harvey M., Εκδόσεις Γκιούρδας Μ.. 2. «Προγραμματισμός Internet και World Wide Web», Deitel Paul J., Deitel Harvey M., Εκδόσεις Γκιούρδας Μ.. 3. «Πλήρες εγχειρίδιο της Java 6», Lemay C, Εκδόσεις Γκιούρδας Μ., Αθήνα 2007. 20

Τέλος Ενότητας 21