50 Pertanyaan dan Jawaban Wawancara JDBC Teratas (2025)

Berikut adalah pertanyaan dan jawaban wawancara Java Database Connectivity (JDBC) untuk kandidat baru dan berpengalaman untuk mendapatkan pekerjaan impian mereka.

Unduh PDF Gratis: Pertanyaan Wawancara JDBC


1) Apa itu JDBC?

JDBC adalah singkatan dari Konektivitas Basis Data Java. JDBC adalah Java API yang berkomunikasi dengan database dan mengeksekusi SQLquery.


2) Apa itu driver JDBC dan berapa banyak driver JDBC yang tersedia?

Driver JDBC berisi kelas dan antarmuka yang membantu aplikasi dan database Java.

Ada 4 jenis driver JDBC.

  1. Driver tipe 1 atau driver jembatan JDBC-ODBC.
  2. Driver tipe 2 atau Asli-API, sebagian driver Java.
  3. Driver tipe 3 atau Protokol Jaringan, driver Java murni.
  4. Driver tipe 4 atau protokol asli, driver Java murni.

3) Bagaimana saya bisa terhubung MySQL atau Oracle dengan 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; }

Penjelasan kode

Class.forName membuat instance driver JDBC dan mendaftar dengan DriverManager.

getConnection () metode selalu membuat koneksi ke database.

Kita perlu membuat objek Pernyataan dari objek koneksi di atas. Pernyataan tersebut akan mengembalikan objek resultset. ResultSet.next() berarti jika resultset masih mengembalikan baris.


4) Driver JDBC manakah yang merupakan driver tercepat?

Driver tipe 4 atau protokol asli, driver Java murni, adalah driver tercepat.


5) Apa saja komponen JDBC API?

Ada empat jenis komponen

  1. API JDBC
  2. Manajer Pengemudi JDBC
  3. Rangkaian Tes JDBC
  4. Jembatan JDBC-ODBC
Pertanyaan Wawancara JDBC
Pertanyaan Wawancara JDBC

6) Apa saja pernyataan JDBC?

Ada 3 jenis Pernyataan JDBC, seperti yang diberikan di bawah ini:

  1. Pernyataan: Ini akan dieksekusi SQL kueri (kueri SQL statis) terhadap database.
  2. Pernyataan yang Disiapkan: Digunakan ketika kita ingin mengeksekusi pernyataan SQL berulang kali. Data masukan bersifat dinamis dan diambil saat dijalankan.
  3. Pernyataan yang Dapat Dipanggil: Digunakan saat kita ingin menjalankan prosedur tersimpan.

7) Bagaimana kita bisa menjalankan prosedur tersimpan?

Prosedur tersimpan dapat dijalankan menggunakan pernyataan JDBCcallable. Ini kodenya.

Connection conn = null;

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

callStmt.setString(1, "abcdefg");


8) Apa keuntungan menggunakan PreparedStatement di Java?

Pernyataan yang Disiapkan digunakan untuk mengeksekusi pernyataan SQL yang sama berulang kali. Pernyataan yang disiapkan hanya dikompilasi satu kali meskipun menggunakan “n” beberapa kali


9) Apa itu ResultSet?

Antarmuka java.sql.ResultSet berarti kumpulan hasil kueri SQL. Artinya kursor menunjuk pada baris tabel; itu menunjuk ke sebelum baris pertama.


10) Apa saja jenis ResultSet?

Ada tiga jenis ResultSet yang tersedia. Jika kami tidak mendeklarasikan ResultSet apa pun, itu berarti kami memanggil TYPE_FORWARD_ONLY

  1. TYPE_FORWARD_ONLY: kursor hanya dapat bergerak maju.
  2. TYPE_SCROLL_INSENSITIVE: kursor dapat bergerak maju dan mundur tetapi tidak sensitif.
  3. TYPE_SCROLL_SENSITIVE: kursor dapat bergerak maju dan mundur, namun sensitif

11) Jelaskan perbedaan antara RowSet vs. ResultSet di JDBC?

Dalam koneksi pegangan ResultSet ke DB, kita tidak bisa menjadikan Result sebagai objek serial.

Karena masalah di atas, kami tidak dapat meneruskan Resultset melalui jaringan.

RowSet memperluas antarmuka ResultSet, sehingga menampung semua metode dari ResultSet. RowSet diserialkan.

Jadi, kita bisa meneruskan Rowset dari satu kelas ke kelas lain karena tidak ada koneksi dengan database.


12) Mengapa Anda menggunakan setAutoCommit(false) di JDBC?

Jika Anda ingin mematikan Komit Otomatis maka atur connection.setAutoCommit(false)


13) Apa yang dimaksud dengan peringatan database di JDBC dan bagaimana kita menangani peringatan database di JDBC?

Peringatan SQL atau Peringatan database adalah subkelas dari kelas SQLException. Kita dapat mengatasinya dengan menggunakan metode getWarnings() pada Connection, Statement, dan ResultSet


14) Bisakah saya mendapatkan ResultSet nol?

Tidak, kami tidak bisa mendapatkan Hasil nol. ResultSet.next() dapat mengembalikan null jika record berikutnya tidak berisi baris.


15) Apa yang Anda maksud dengan Metadata dan mengapa kami menggunakannya?

Metadata berarti data atau informasi tentang data lain. Kami menggunakan metadata untuk mendapatkan versi produk database, nama driver, jumlah total tabel dan tampilan.


16) Apa perbedaan antara mengeksekusi, mengeksekusiQuery, mengeksekusiUpdate di JDBC?

mengeksekusi(): dapat digunakan untuk segala jenis SQL Query.

mengeksekusiQuery() : dapat digunakan untuk kueri pemilihan.

mengeksekusiUpdate(): dapat digunakan untuk mengubah/memperbarui tabel.


17) Apa yang dimaksud dengan pengumpulan koneksi database? Keuntungan menggunakan kumpulan koneksi?

Pengumpulan koneksi berarti koneksi akan disimpan dalam cache dan kami dapat menggunakannya kembali di masa mendatang.

Keuntungan:

  1. Ini lebih cepat
  2. Pengumpulan koneksi menjadi lebih mudah untuk mendiagnosis dan menganalisis koneksi database.

18) Apa fungsi kelas DriverManager?

Ini adalah antarmuka antara pengguna dan driver. DriverManager melacak semua aktivitas antara database dan driver yang sesuai.


19) Apa yang dimaksud dengan pembaruan batch?

Pembaruan batch berarti mengeksekusi sekumpulan/grup kueri SQL sekaligus.

Pembaruan batch hanya dapat digunakan untuk menyisipkan, memperbarui, dan menghapus tetapi tidak untuk kueri pemilihan.


20) Berapa banyak paket yang tersedia di JDBC API?

Dua jenis paket tersedia di JDBC API

  1. java.sql
  2. javax.sql

21) Apa tipe pengembalian dari mengeksekusi, mengeksekusiQuery, dan mengeksekusiUpdate?

Jenis pengembalian eksekusi adalah Boolean

Tipe kembalian dari mengeksekusiQuery adalah objek ResultSet

Jenis pengembalian dari eksekusiUpdate adalah int


22) Indeks Kumpulan Hasil Dimulai dengan 0 atau 1?

Indeks Kumpulan Hasil dimulai dengan 1.


23) Apa peran Class.forName saat memuat driver?

Class.forName membuat instance driver JDBC dan mendaftar dengan DriverManager.


24) JDBC-ODBC Bridge multi-threaded atau tidak?

Tidak, JDBC-ODBC Bridge menggunakan metode tersinkronisasi untuk membuat serialisasi semua panggilan yang dilakukan ke ODBC.


25) Antarmuka manakah yang menangani manajemen transaksi di JDBC?

Antarmuka koneksi menangani manajemen transaksi di JDBC. Ini menyediakan metode untuk komit (), rollback () dll.


26) Mengapa kesalahan “Tidak ada driver yang sesuai” terjadi?

Tidak ada driver yang cocok” terjadi ketika kita memanggil metode DriverManager.getConnection,

itu mungkin terjadi karena alasan berikut:

  • tidak dapat memuat driver JDBC yang tepat sebelum memanggil metode getConnection.
  • Mungkin URL JDBC tidak valid atau salah.

27) Laporan yang Disiapkan lebih cepat. Mengapa?

Eksekusi pernyataan yang telah disiapkan lebih cepat dibandingkan dengan eksekusi langsung karena pernyataan hanya dikompilasi satu kali. Pernyataan yang disiapkan & driver JDBC terhubung satu sama lain selama eksekusi, dan tidak ada overhead koneksi.


28) Apakah mungkin untuk terhubung ke banyak database? Dengan menggunakan pernyataan tunggal, bisakah kita memperbarui atau mengekstrak data dari dua atau tiga atau banyak database?

Ya, dimungkinkan untuk terhubung ke beberapa database secara bersamaan, tetapi itu tergantung pada driver spesifiknya.

Untuk memperbarui dan mengekstrak data dari database yang berbeda kita dapat menggunakan pernyataan tunggal. Namun kita memerlukan middleware untuk menangani banyak database atau satu database.


29) Beri tahu saya perbedaan antara setMaxRows(int) dan SetFetchSize(int)?

setMaxRows(int) SetFetchSize(int)?
Menentukan berapa banyak baris yang dapat ditampung oleh kumpulan hasil dalam satu waktu Menentukan jumlah baris yang akan dibaca dari database.

30) Ceritakan tentang karakter khusus?

Karakter khusus diawali dengan karakter escape. Contoh -

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

31) Apa yang dimaksud dengan “bacaan kotor” dalam database?

Bacaan kotor berarti “membaca nilai yang mungkin benar atau mungkin tidak benar”.


32) Apa yang Anda maksud dengan komitmen dua fase?

Komit dua fase digunakan dalam proses transaksi terdistribusi. Jika ada transaksi yang dijalankan dan itu akan mempengaruhi banyak database. Komitmen dua fase akan digunakan untuk membuat semua database disinkronkan satu sama lain.


33) Berapa banyak sistem penguncian yang ada di JDBC?

Dua jenis penguncian tersedia di JDBC dimana kita dapat menangani lebih dari satu pengguna.

Jika dua pengguna melihat rekaman yang sama, penguncian tidak dilakukan. Jika satu pengguna memperbarui rekaman dan pengguna kedua juga memperbarui rekaman yang sama, maka penguncian akan dilakukan.

  1. Penguncian Optimis: ini akan mengunci catatan hanya ketika kita akan "memperbarui".
  2. Penguncian Pesimis: itu akan mengunci catatan dari "pilih" untuk melihat, memperbarui dan melakukan waktu.

34) Apa saja pengecualian di JDBC?

Ada empat jenis pengecualian di JDBC.

  1. Pengecualian pembaruan batch
  2. Pemotongan Data
  3. Pengecualian SQL
  4. Peringatan SQL

35) Berikan langkah-langkah untuk terhubung ke DB menggunakan JDBC?

Ada dua cara untuk menghubungkan database menggunakan JDBC

  1. Menggunakan DriverManager:

Ini akan memuat kelas driver dengan bantuan class.forName(kelas driver) dan Class.forName().

Posting Memuat itu akan meneruskan kontrol ke DriverManager.

DriverManager.getConnection() akan membuat koneksi untuk mengakses database.

  1. Menggunakan Sumber Data:

Untuk DataSource, tidak perlu menggunakan DriverManager dengan bantuan JNDI. JNDI akan mencari DataSource dari server layanan Naming. Metode DataSource.getConnection() akan mengembalikan objek Connection ke DB.


36) Jelaskan Arsitektur JDBC?

JDBC API mendukung model 2 tingkat dan 3 tingkat untuk database.

Dalam model 2 tingkat, aplikasi Java berinteraksi dengan sumber data

Arsitektur JDBC 2-tingkat

Dalam model 3 tingkat, perintah dialihkan ke layanan “tingkat menengah”. Setelah itu perintah dikirim ke sumber data.

Arsitektur JDBC 3-tingkat


37) Apa saja fitur baru yang tersedia di JDBC 4.0?

Fitur baru adalah

  • Pemuatan otomatis berdasarkan kelas driver JDBC
  • Manajemen Koneksi yang Ditingkatkan
  • RowId SQL diaktifkan
  • Kumpulan data diimplementasikan oleh SQL dengan menggunakan Anotasi
  • Peningkatan penanganan pengecualian SQL
  • Mendukung SQL XML arsip

38) Paket apa saja yang digunakan di JDBC?

8 paket digunakan di JDBC –

  1. sql.Driver
  2. Koneksi
  3. Pernyataan
  4. Pernyataan yang Disiapkan
  5. Pernyataan yang Dapat Dipanggil
  6. Hasil Set
  7. HasilSetMetaData
  8. Basis Data MetaData

39) Berapa banyak RowSet yang tersedia di JDBC?

Ada dua jenis kumpulan baris yang tersedia:

  1. Terhubung – Objek RowSet yang terhubung terhubung ke database secara instan. Jika aplikasi dihentikan maka objek RowSet yang terhubung juga akan berhenti.
  2. Terputus – Objek RowSet yang terputus tersambung ke database setelah eksekusi kueri yang diperlukan.

40) Apa yang dimaksud dengan koneksi?

Antarmuka koneksi terdiri dari metode interaksi dengan database.


41) Jelaskan Savepoint JDBC?

Savepoint mewakili titik di mana transaksi saat ini dapat dikembalikan. Daripada membatalkan semua perubahannya, ia dapat memilih untuk mengembalikan sebagian saja.


42) Sebutkan keuntungan menggunakan DataSource?

Sumber data merupakan pembagian kerja antara administrator dan programmer/developer.

Administrator membuat objek DataSource dan menghubungkannya dengan registri JNDI. Programmer/pengembang mengambil objek DataSource dari registri. Kemudian, ia akan membuat koneksi dengan basis data.


43) Apa alasan mengapa kita memerlukan JdbcRowSet seperti pembungkus ResultSet?

Kita dapat menggunakan objek ResultSet sebagai komponen JavaBeans.

  • JdbcRowSet juga dapat digunakan sebagai komponen JavaBeans. Itu sebabnya ia dapat dibuat dan dikonfigurasi pada waktu desain atau kompilasi dan dijalankan pada waktu proses.
  • Semua objek jdbcRowSet dapat digulir dan diperbarui.

44) Berapa banyak cara kita dapat melihat kumpulan hasil?

Ada 2 cara untuk melihat ResultSet

  1. kolom
  2. indeks kolom.

Contoh: getInt(String nama kolom), getInt(intindeks kolom)


45) Berapa banyak cara Anda dapat memperbarui kumpulan hasil?

Metode berikut membantu Anda memperbarui kumpulan hasil

  • pembaruanBaris()
  • hapusBaris()
  • segarkanBaris()
  • batalkan Pembaruan Baris ()
  • sisipkanBaris()

46) Mengapa kita harus menutup koneksi database di Java?

Sebagai praktik terbaik, kita harus menutup kumpulan hasil, pernyataan, dan hubungannya. Jika koneksi berasal dari suatu pool, pada saat penutupan, koneksi tersebut dikirim kembali ke pool untuk digunakan kembali. Kita melakukan ini di blok akhirnya{}, karena jika ada pengecualian yang terjadi, kita masih mempunyai kesempatan untuk menutupnya.


47) Mengapa kita menggunakan tipe data blob di JDBC?

Ini digunakan untuk menyimpan sejumlah besar data ke dalam database seperti gambar, film, dll.


48) Bagaimana cara mengatur atribut Concurrency di ResultSet?

Ada dua tingkat konkurensi

  1. CONCUR_READ_ONLY – Ini hanya untuk membaca.
  2. CONCUR_UPDATABLE - Ini untuk dibaca dan diperbarui.

49) Apa perbedaan antara kursor database klien dan server?

Kursor sisi server berarti data & hasil disimpan di server. Hanya ketika data yang diminta dikirim ke klien.

Kursor sisi klien berarti semua data yang dikirim ke lokasi klien.


50) Bagaimana cara memasukkan gambar ke dalam Database menggunakan JDBC?

Gambar dalam database menggunakan tipe data BLOB dimana gambar disimpan sebagai aliran byte. Kode di bawah ini menunjukkan cara memasukkan gambar ke dalam 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();

Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)

Bagikan

2 Komentar

  1. Avatar Jahnavi mengatakan:

    sangat bermanfaat bagi para pelajar………..

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *