Οι κορυφαίες 50 ερωτήσεις και απαντήσεις συνέντευξης JDBC (2025)

Ακολουθούν ερωτήσεις και απαντήσεις συνέντευξης με Java Database Connectivity (JDBC) για νεοφώτιστους καθώς και έμπειρους υποψηφίους για να πάρουν τη δουλειά των ονείρων τους.

Δωρεάν λήψη PDF: Ερωτήσεις συνέντευξης JDBC


1) Τι είναι το JDBC;

Το JDBC σημαίνει Συνδεσιμότητα βάσης δεδομένων Java. Το JDBC είναι ένα Java API που επικοινωνεί με τη βάση δεδομένων και εκτελεί το SQLquery.


2) Τι είναι το πρόγραμμα οδήγησης JDBC και πόσα προγράμματα οδήγησης JDBC είναι διαθέσιμα;

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

Υπάρχουν 4 τύποι προγραμμάτων οδήγησης JDBC.

  1. Πρόγραμμα οδήγησης τύπου 1 ή πρόγραμμα οδήγησης γέφυρας JDBC-ODBC.
  2. Πρόγραμμα οδήγησης τύπου 2 ή εγγενές-API, εν μέρει πρόγραμμα οδήγησης Java.
  3. Πρόγραμμα οδήγησης τύπου 3 ή Πρωτόκολλο δικτύου, πρόγραμμα οδήγησης καθαρής Java.
  4. Πρόγραμμα οδήγησης τύπου 4 ή Native-protocol, καθαρό πρόγραμμα οδήγησης Java.

3) Πώς μπορώ να συνδεθώ MySQL ή Oracle με Java;

//for MySQL {
try {

Class.forName ("com.mysql.jdbc.Driver");

con=DriverManager.getConnection ("jdbc: mysql://localhost:3306/dbanme", "username", "password");

Statement st=con.createstatement ();

Resultset rs=st.executeQuery ("select * from user");

rs.next (); catch (ClassNotFoundException e) {

System.err.println ("ClassNotFoundException in get Connection," + e.getMessage()); }

catch (SQLException e) {

System.err.println ("SQLException in getConnection," + e.getMessage ()) ;}

//for oracle

{

try

{

Class.forName ("oracle.jdbc.driver.OracleDriver");

con= DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:dbname", "username", "password");

Statement st=con.createstatement();

Resultset rs=st.executeQuery("select * from user");

Rs.next();

} catch (ClassNotFoundException e) {

System.err.println("ClassNotFoundException in get Connection," +e.getMessage()); }

catch (SQLException e) {

System.err.println("SQLException in getConnection, " + e.getMessage()); } return con; }

Εξήγηση κώδικα

Το Class.forName δημιουργεί μια παρουσία του προγράμματος οδήγησης JDBC και εγγράφεται στο DriverManager.

Η μέθοδος getConnection () δημιουργεί πάντα μια σύνδεση με μια βάση δεδομένων.

Πρέπει να δημιουργήσουμε ένα αντικείμενο Statement από το παραπάνω αντικείμενο σύνδεσης. Η εντολή θα επιστρέψει το αντικείμενο resultset. ResultSet.next () σημαίνει ότι το σύνολο αποτελεσμάτων εξακολουθεί να επιστρέφει γραμμή.


4) Ποιο πρόγραμμα οδήγησης JDBC είναι το πιο γρήγορο πρόγραμμα οδήγησης;

Πρόγραμμα οδήγησης τύπου 4 ή Native-protocol, καθαρό πρόγραμμα οδήγησης Java, είναι το ταχύτερο πρόγραμμα οδήγησης.


5) Ποια είναι τα στοιχεία του JDBC API;

Υπάρχουν τέσσερις τύποι εξαρτημάτων

  1. JDBC API
  2. JDBC Driver Manager
  3. JDBC Test Suite
  4. Γέφυρα JDBC-ODBC
Ερωτήσεις συνέντευξης JDBC
Ερωτήσεις συνέντευξης JDBC

6) Τι είναι οι δηλώσεις JDBC;

Υπάρχουν 3 τύποι δηλώσεων JDBC, όπως δίνονται παρακάτω:

  1. Δήλωση: Θα εκτελεστεί SQL ερώτημα (στατικό ερώτημα SQL) έναντι της βάσης δεδομένων.
  2. Έτοιμη δήλωση: Χρησιμοποιείται όταν θέλουμε να εκτελέσουμε μια πρόταση SQL επανειλημμένα. Τα δεδομένα εισόδου είναι δυναμικά και λαμβάνονται κατά τον χρόνο εκτέλεσης.
  3. Κλήσιμη δήλωση: Χρησιμοποιείται όταν θέλουμε να εκτελέσουμε αποθηκευμένες διαδικασίες.

7) Πώς μπορούμε να εκτελέσουμε αποθηκευμένες διαδικασίες;

Οι αποθηκευμένες διαδικασίες μπορούν να εκτελεστούν χρησιμοποιώντας την εντολή JDBCcallable. Εδώ είναι ο κωδικός.

Connection conn = null;

CallableStatement callStmt = conn.prepareCall("{call myStoreproc(?, ?)}");

callStmt.setString(1, "abcdefg");


8) Ποια είναι τα πλεονεκτήματα της χρήσης του PreparedStatement σε Java;

Η Prepared Statement χρησιμοποιείται για την επανειλημμένη εκτέλεση των ίδιων εντολών SQL. Η προετοιμασμένη δήλωση συντάσσεται μόνο μία φορά, παρόλο που χρησιμοποίησε το "n" πολλές φορές


9) Τι είναι το ResultSet;

Η διεπαφή java.sql.ResultSet σημαίνει το σύνολο αποτελεσμάτων ενός ερωτήματος SQL. Σημαίνει ότι ένας δρομέας δείχνει μια σειρά ενός πίνακα. δείχνει πριν από την πρώτη σειρά.


10) Ποιοι είναι οι τύποι ResultSet;

Υπάρχουν τρεις τύποι ResultSet είναι διαθέσιμο. Εάν δεν δηλώσουμε κανένα ResultSet, αυτό σημαίνει ότι καλούμε TYPE_FORWARD_ONLY

  1. TYPE_FORWARD_ONLY: Ο κέρσορας μπορεί να μετακινηθεί μόνο προς τα εμπρός.
  2. TYPE_SCROLL_INSENSITIVE: ο κέρσορας μπορεί να κινηθεί προς τα εμπρός και προς τα πίσω αλλά όχι ευαίσθητος.
  3. TYPE_SCROLL_SENSITIVE: ο κέρσορας μπορεί να κινηθεί προς τα εμπρός και προς τα πίσω, αλλά είναι ευαίσθητος

11) Εξηγήστε τη διαφορά μεταξύ RowSet και ResultSet στο JDBC;

Σε μια σύνδεση λαβής ResultSet σε μια ΒΔ, δεν μπορούμε να κάνουμε το αποτέλεσμα ως σειριακό αντικείμενο.

Λόγω του παραπάνω προβλήματος, δεν μπορούμε να μεταβιβάσουμε το Resultset μέσω του δικτύου.

Το RowSet επεκτείνει τη διεπαφή ResultSet, επομένως κρατά όλες τις μεθόδους από το ResultSet. Το RowSet είναι σειριακό.

Έτσι, μπορούμε να περάσουμε το Rowset από μια κλάση σε άλλη κλάση επειδή δεν έχει καμία σύνδεση με τη βάση δεδομένων.


12) Γιατί να χρησιμοποιήσετε το setAutoCommit(false) στο JDBC;

Εάν θέλετε να απενεργοποιήσετε την αυτόματη δέσμευση, ορίστε τη σύνδεση.setAutoCommit(false)


13) Τι είναι οι προειδοποιήσεις βάσης δεδομένων στο JDBC και πώς μπορούμε να χειριστούμε τις προειδοποιήσεις βάσης δεδομένων στο JDBC;

Η προειδοποίηση SQL ή η προειδοποίηση βάσης δεδομένων είναι η υποκατηγορία της κλάσης SQLException. Μπορούμε να το χειριστούμε χρησιμοποιώντας τη μέθοδο getWarnings() στο Connection, Statement και ResultSet


14) Μπορώ να λάβω ένα null ResultSet;

Όχι, δεν μπορούμε να λάβουμε null Resultset. Η ResultSet.next() μπορεί να επιστρέψει null εάν η επόμενη εγγραφή δεν περιέχει μια σειρά.


15) Τι εννοείτε με τον όρο Μεταδεδομένα και γιατί τα χρησιμοποιούμε;

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


16) Ποια είναι η διαφορά μεταξύ εκτέλεσης, εκτέλεσηςQuery, executeUpdate στο JDBC;

execute(): μπορεί να χρησιμοποιηθεί για οποιοδήποτε είδος ερωτήματος SQL.

executeQuery() : μπορεί να χρησιμοποιηθεί για επιλογή ερωτήματος.

executeUpdate(): μπορεί να χρησιμοποιηθεί για αλλαγή/ενημέρωση πίνακα.


17) Τι είναι η συγκέντρωση σύνδεσης βάσης δεδομένων; Πλεονεκτήματα της χρήσης μιας πισίνας σύνδεσης;

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

Πλεονέκτημα:

  1. Είναι γρηγορότερο
  2. Η συγκέντρωση συνδέσεων γίνεται πιο εύκολη στη διάγνωση και την ανάλυση της σύνδεσης βάσης δεδομένων.

18) Ποια είναι η λειτουργία της κλάσης DriverManager;

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


19) Ποιο είναι το νόημα των ενημερώσεων παρτίδας;

Μαζικές ενημερώσεις σημαίνει την εκτέλεση ενός συνόλου/ομάδας ερωτημάτων SQL ταυτόχρονα.

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


20) Πόσα πακέτα είναι διαθέσιμα στο JDBC API;

Δύο τύποι πακέτων είναι διαθέσιμοι στο JDBC API

  1. java.sql
  2. javax.sql

21) Ποιος είναι ο τύπος επιστροφής execute, executeQuery και executeUpdate;

Ο τύπος εκτέλεσης επιστροφής είναι Boolean

Ο τύπος επιστροφής του executeQuery είναι αντικείμενο ResultSet

Ο τύπος επιστροφής του executeUpdate είναι int


22) Ο δείκτης του συνόλου αποτελεσμάτων ξεκινά με 0 ή 1;

Ο δείκτης του συνόλου αποτελεσμάτων ξεκινά με 1.


23) Ποιος είναι ο ρόλος του Class.forName κατά τη φόρτωση προγραμμάτων οδήγησης;

Το Class.forName δημιουργεί μια παρουσία του προγράμματος οδήγησης JDBC και εγγράφεται στο DriverManager.


24) Η γέφυρα JDBC-ODBC είναι πολλαπλών νημάτων ή όχι;

Όχι, το JDBC-ODBC Bridge χρησιμοποιεί συγχρονισμένες μεθόδους για τη σειριοποίηση όλων των κλήσεων που γίνονται στο ODBC.


25) Ποια διεπαφή χειρίζεται τη διαχείριση συναλλαγών στο JDBC;

Η διεπαφή σύνδεσης χειρίζεται τη διαχείριση συναλλαγών στο JDBC. Παρέχει μέθοδο για δέσμευση (), επαναφορά () κ.λπ.


26) Γιατί παρουσιάζεται το σφάλμα "Δεν υπάρχει κατάλληλο πρόγραμμα οδήγησης";

Δεν υπάρχει κατάλληλο πρόγραμμα οδήγησης" εμφανίζεται όταν καλούμε τη μέθοδο DriverManager.getConnection,

μπορεί να συμβεί για τους ακόλουθους λόγους:

  • δεν είναι δυνατή η φόρτωση ακριβών προγραμμάτων οδήγησης JDBC πριν καλέσετε τη μέθοδο getConnection.
  • Μπορεί να είναι μη έγκυρη ή λανθασμένη διεύθυνση URL JDBC.

27) Οι προετοιμασμένες δηλώσεις είναι πιο γρήγορες. Γιατί;

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


28) Είναι δυνατή η σύνδεση σε πολλές βάσεις δεδομένων; Χρησιμοποιώντας μία πρόταση μπορούμε να ενημερώσουμε ή να εξαγάγουμε δεδομένα από δύο ή τρεις ή πολλές βάσεις δεδομένων;

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

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


29) Πες μου διαφορά μεταξύ setMaxRows(int) και SetFetchSize(int);

setMaxRows(int) SetFetchSize(int);
Καθορίζει πόσες σειρές μπορεί να περιέχει ένα σύνολο αποτελεσμάτων τη φορά Καθορίζει τον αριθμό των σειρών που θα διαβαστούν από τη βάση δεδομένων.

30) Πες μου για ειδικούς χαρακτήρες;

Ένας ειδικός χαρακτήρας προηγείται από έναν χαρακτήρα διαφυγής. Παράδειγμα -

SELECT NAME FROM TABLE WHERE NAME LIKE '\_%' {escape '\'}

31) Τι σημαίνει «βρώμικη ανάγνωση» στη βάση δεδομένων;

Dirty read σημαίνει «διαβάστε την τιμή που μπορεί να είναι σωστή ή να μην είναι σωστή».


32) Τι εννοείτε με τον όρο δεσμεύσεις δύο φάσεων;

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


33) Πόσα συστήματα κλειδώματος υπάρχουν στο JDBC;

Δύο τύποι κλειδώματος είναι διαθέσιμοι στο JDBC με τους οποίους μπορούμε να χειριστούμε περισσότερους από έναν χρήστες.

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

  1. Αισιόδοξο κλείδωμα: θα κλειδώσει την εγγραφή μόνο όταν πρόκειται να κάνουμε "ενημέρωση".
  2. Απαισιόδοξο Κλείδωμα: θα κλειδώσει την εγγραφή από το "επιλογή" για προβολή, ενημέρωση και δέσμευση χρόνου.

34) Ποιες είναι οι εξαιρέσεις στο JDBC;

Υπάρχουν τέσσερις τύποι εξαιρέσεων στο JDBC.

  1. Εξαίρεση batchUpdate
  2. Περικοπή δεδομένων
  3. Εξαίρεση SQL
  4. Προειδοποίηση SQL

35) Δώστε βήματα για να συνδεθείτε στο DB χρησιμοποιώντας το JDBC;

Υπάρχουν δύο τρόποι για να συνδέσετε τη βάση δεδομένων χρησιμοποιώντας το JDBC

  1. Χρήση του DriverManager:

Θα φορτώσει την κλάση προγράμματος οδήγησης με τη βοήθεια των class.forName(driver class) και Class.forName().

Το Post Loading θα περάσει τον έλεγχο στον DriverManager.

Το DriverManager.getConnection() θα δημιουργήσει τη σύνδεση για πρόσβαση στη βάση δεδομένων.

  1. Χρήση του DataSource:

Για το DataSource, δεν χρειάζεται να χρησιμοποιήσετε το DriverManager με τη βοήθεια του JNDI. Θα αναζητήσει το DataSource από τον διακομιστή υπηρεσίας ονοματοδοσίας. Η μέθοδος DataSource.getConnection() θα επιστρέψει το αντικείμενο Connection στη βάση δεδομένων.


36) Εξηγήστε την Αρχιτεκτονική JDBC;

Το JDBC API υποστηρίζει μοντέλα 2 επιπέδων και 3 επιπέδων για τη βάση δεδομένων.

Σε μοντέλο 2 επιπέδων η εφαρμογή Java αλληλεπιδρά με την πηγή δεδομένων

Αρχιτεκτονική 2 επιπέδων JDBC

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

Αρχιτεκτονική 3 επιπέδων JDBC


37) Ποιες είναι οι νέες διαθέσιμες δυνατότητες στο JDBC 4.0;

Τα νέα χαρακτηριστικά είναι

  • Αυτόματη φόρτωση ανά κατηγορία προγραμμάτων οδήγησης JDBC
  • Βελτιωμένη διαχείριση σύνδεσης
  • RowId SQL ενεργοποιημένη
  • Σύνολο δεδομένων που υλοποιείται από την SQL με χρήση Σχολιασμών
  • Βελτιώσεις του χειρισμού εξαιρέσεων SQL
  • Υποστήριξη SQL XML αρχεία

38) Ποια είναι τα πακέτα που χρησιμοποιούνται στο JDBC;

Στο JDBC χρησιμοποιούνται 8 πακέτα –

  1. sql.Πρόγραμμα οδήγησης
  2. σύνδεση
  3. Δήλωση
  4. Έτοιμη Δήλωση
  5. CallableStatement
  6. Αποτέλεσμα
  7. ResultSetMetaData
  8. DatabaseMetaData

39) Πόσα RowSet είναι διαθέσιμα στο JDBC;

Υπάρχουν δύο τύποι συνόλων σειρών που είναι διαθέσιμα:

  1. Συνδεδεμένος – Ένα συνδεδεμένο αντικείμενο RowSet συνδέεται στη βάση δεδομένων στιγμιαία. Εάν η εφαρμογή τερματιστεί, τότε το συνδεδεμένο αντικείμενο RowSet τερματίζεται επίσης.
  2. Ασύνδετος – Ένα αποσυνδεδεμένο αντικείμενο RowSet συνδέεται με τη βάση δεδομένων μετά την εκτέλεση του απαιτούμενου ερωτήματος.

40) Ποια είναι η έννοια της σύνδεσης;

Η διεπαφή σύνδεσης αποτελείται από μεθόδους αλληλεπίδρασης με τη βάση δεδομένων.


41) Εξηγήστε το JDBC Savepoint;

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


42) Αναφέρετε τα πλεονεκτήματα της χρήσης του DataSource;

Η πηγή δεδομένων κατανέμει την εργασία μεταξύ διαχειριστή και προγραμματιστή/προγραμματιστή.

Ο διαχειριστής δημιουργεί ένα αντικείμενο DataSource και το συνδέει με το μητρώο JNDI. Ένας προγραμματιστής/προγραμματιστής ανακτά το αντικείμενο DataSource από το μητρώο. Στη συνέχεια, θα δημιουργήσει τη σύνδεση με τη βάση δεδομένων.


43) Ποιος είναι ο λόγος για τον οποίο χρειαζόμαστε ένα JdbcRowSet όπως το περιτύλιγμα γύρω από το ResultSet;

Μπορούμε να χρησιμοποιήσουμε το αντικείμενο ResultSet ως στοιχείο JavaBeans.

  • Ένα JdbcRowSet μπορεί επίσης να χρησιμοποιηθεί ως στοιχείο JavaBeans. Αυτός είναι ο λόγος για τον οποίο μπορεί να δημιουργηθεί και να ρυθμιστεί κατά το χρόνο σχεδιασμού ή μεταγλώττισης και να εκτελεστεί κατά το χρόνο εκτέλεσης.
  • Όλα τα αντικείμενα jdbcRowSet έχουν δυνατότητα κύλισης και ενημέρωσης.

44) Με πόσους τρόπους μπορούμε να δούμε ένα σύνολο αποτελεσμάτων;

Υπάρχουν 2 τρόποι για να δείτε το ResultSet

  1. στήλη
  2. ευρετήριο στήλης.

Παράδειγμα: getInt(Συμβολοσειρά Όνομα στήλης), getInt(int στήληΕυρετήριο)


45) Με πόσους τρόπους μπορείτε να ενημερώσετε ένα σύνολο αποτελεσμάτων;

Οι ακόλουθες μέθοδοι σάς βοηθούν να ενημερώσετε το σύνολο αποτελεσμάτων

  • updateRow()
  • deleteRow()
  • refreshRow()
  • cancelRowUpdates()
  • insertRow()

46) Γιατί πρέπει να κλείνουμε τις συνδέσεις βάσης δεδομένων στην Java;

Ως βέλτιστη πρακτική, πρέπει να κλείσουμε το σύνολο αποτελεσμάτων, τη δήλωση και τη σύνδεση. Εάν η σύνδεση προέρχεται από μια πισίνα, κατά το κλείσιμο, η σύνδεση αποστέλλεται πίσω στην πισίνα για επαναχρησιμοποίηση. Το κάνουμε αυτό στο μπλοκ επιτέλους{}, γιατί αν παρουσιαστεί κάποια εξαίρεση, τότε έχουμε ακόμα την ευκαιρία να το κλείσουμε.


47) Γιατί χρησιμοποιούμε τύπους δεδομένων blob στο JDBC;

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


48) Πώς να ορίσετε το χαρακτηριστικό Concurrency στο ResultSet;

Υπάρχουν δύο επίπεδα συγχρονισμού

  1. CONCUR_READ_ONLY – Είναι μόνο για ανάγνωση.
  2. CONCUR_UPDATABLE - Είναι τόσο για ανάγνωση όσο και για ενημέρωση.

49) Ποια είναι η διαφορά μεταξύ των δρομέων βάσης δεδομένων πελάτη και διακομιστή;

Ο δρομέας από την πλευρά του διακομιστή σημαίνει ότι τα δεδομένα και τα αποτελέσματα αποθηκεύονται στον διακομιστή. Μόνο όταν τα ζητούμενα δεδομένα αποστέλλονται στον πελάτη.

Ο δρομέας από την πλευρά του πελάτη σημαίνει όλα τα δεδομένα που αποστέλλονται στη θέση του πελάτη.


50) Πώς εισάγετε εικόνες στη βάση δεδομένων χρησιμοποιώντας το JDBC;

Εικόνες στη βάση δεδομένων χρησιμοποιώντας τον τύπο δεδομένων BLOB όπου η εικόνα αποθηκεύεται ως ροή byte. Ο παρακάτω κώδικας δείχνει πώς να εισαγάγετε την εικόνα στο DB.

Connection con = null;

PreparedStatement prs = null;

InputStream inputstrm = null;

Class.forName("oracle.jdbc.driver.OracleDriver");

con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mydb","username","yourpassword");

//localhost is your machine or hostname

//1521 is your oracle database port number

//mydb is your oracle database name.

prs = con.prepareCall("insert into emp_profile values (?,?)");

prs.setInt(1, 1223);

inputstrm = new FileInputStream(new File("emp_img.jpg"));

prs.setBinaryStream(2, inputstrm);

int count = prs.executeUpdate();

Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας

Κοινοποίηση

2 Σχόλια

  1. Avatar Γιαχνάβι λέει:

    πολύ χρήσιμο για τους μαθητές………..

Αφήστε μια απάντηση

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται *