Contoh objek pernyataan jdbc
Berikut adalah contoh menggunakan tiga pertanyaan berikut dan instruksi pembukaan dan penutupan:
Boolean Execute (String SQL): Mengembalikan nilai boolean benar, jika objek hasil dapat diambil, jika tidak mengembalikan false. Gunakan metode ini untuk menjalankan pernyataan SQL DDL, atau saat menggunakan SQL dinamis nyata.
int executeUpdate (String SQL): Mengembalikan jumlah baris yang dijalankan oleh pernyataan SQL yang terpengaruh. Gunakan metode ini untuk dieksekusi, dan berharap untuk mendapatkan beberapa baris yang terpengaruh dari pernyataan SQL - misalnya, memasukkan, memperbarui, atau menghapus pernyataan.
Hasil ExecuteQuery (String SQL): Mengembalikan Objek Hasil. Gunakan metode ini saat Anda ingin mendapatkan set hasil, seperti menggunakan pernyataan SELECT.
Kode sampel ini berdasarkan pada lingkungan dan instalasi basis data di bab sebelumnya telah ditulis.
Salin contoh berikut jdbcexample.java, kompilasi dan jalankan seperti yang ditunjukkan di bawah ini:
// Langkah 1. Impor Paket yang Diperlukan IMPORT JAVA.SQL.*; Kelas Publik JdbCexample {// Nama Driver JDBC dan Database URL Static Final String JDBC_DRIVER = "com.mysql.jdbc.driver"; string final statis db_url = "jdbc: mysql: // localhost/emp"; // kredensial basis data static final string user = "username"; Static Final String Pass = "Kata Sandi"; public static void main (string [] args) {connection conn = null; Pernyataan stmt = null; Coba {// Langkah 2: Daftarkan JDBC Driver Class.forname ("com.mysql.jdbc.driver"); // Langkah 3: Buka koneksi System.out.println ("Menghubungkan ke Database ..."); conn = driverManager.getConnection (db_url, user, pass); // Langkah 4: Jalankan kueri System.out.println ("Membuat Pernyataan ..."); stmt = conn.createStatement (); String sql = "Perbarui karyawan set usia = 30 di mana id = 103"; // Mari kita periksa apakah itu mengembalikan hasil yang benar atau tidak. Boolean ret = stmt.execute (sql); System.out.println ("Nilai pengembalian adalah:" + ret.tostring ()); // Mari kita perbarui usia catatan dengan ID = 103; int rows = stmt.executeUpdate (sql); System.out.println ("Baris terpengaruh:" + baris); // Biarkan kami memilih semua catatan dan menampilkannya. SQL = "Pilih ID, Pertama, Terakhir, Usia dari Karyawan"; Hasil rs = stmt.executeQuery (sql); // Langkah 5: Ekstrak data dari set hasil while (rs.next ()) {// ambil dengan nama kolom int id = rs.getint ("id"); int usia = rs.getint ("usia"); String first = rs.getString ("first"); String last = rs.getString ("last"); // tampilan nilai system.out.print ("id:" + id); System.out.print (", usia:" + usia); System.out.print (", pertama:" + pertama); System.out.println (", terakhir:" + terakhir); } // Langkah 6: Lingkungan Pembersihan Rs.Close (); stmt.close (); conn.close (); } catch (sqlexception se) {// menangani kesalahan untuk jdbc se.printstacktrace (); } catch (Exception e) {// menangani kesalahan untuk class.forname e.printstacktrace (); } akhirnya {// akhirnya blok yang digunakan untuk menutup sumber daya coba {if (stmt! = null) stmt.close (); } catch (sqlexception se2) {} // tidak ada yang bisa kita coba {if (conn! = null) conn.close (); } catch (sqlexception se) {se.printstacktrace (); } // end akhirnya coba} // end try system.out.println ("Selamat tinggal!"); } // end Main} // end jdbcexampleSekarang kompilasi contoh di atas sebagai berikut:
C:> javac jdbcexample.java
Saat menjalankan JDBCexample, itu menghasilkan hasil berikut:
C:> java jdbcexample
Menghubungkan ke Database ... Membuat Pernyataan ... Nilai Pengembalian adalah: Falserows Dampak: 1ID: 100, Umur: 18, Pertama: Zara, Terakhir: Aliid: 101, Umur: 25, Pertama: Mahnaz, Terakhir: Fatmaid: 102, Umur: 30, Pertama: Zaid, Terakhir: Khanid: 103, Usia: 30, First: Sumit: Mittal: Mittal: Mittal: Mittal: Mittal: Mittal: Mittal: Mittal: Mitte: Mitte: Mittal:
JDBC CallAblestatement Object Instance
Berikut adalah contoh prosedur tersimpan MySQL menggunakan callablestatement bersama dengan getempname berikut ():
Pastikan prosedur tersimpan telah dibuat di database EMP. Ini dapat dilakukan dengan menggunakan browser kueri MySQL.
Pembatas $$ Prosedur Drop Jika ada `emp`.`getempname` $$ Buat prosedur` emp`.`getempname` (dalam emp_id int, keluar emp_first varchar (255)) Mulailah terlebih dahulu ke dalam emp_first dari karyawan di mana id = emp_id; end $$ pembatas;
Kode skrip ini telah ditulis berdasarkan instalasi lingkungan dan database di bab sebelumnya.
Salin contoh berikut jdbcexample.java, kompilasi dan jalankan seperti yang ditunjukkan di bawah ini:
// Langkah 1. Impor Paket yang Diperlukan IMPORT JAVA.SQL.*; Kelas Publik JdbCexample {// Nama Driver JDBC dan Database URL Static Final String JDBC_DRIVER = "com.mysql.jdbc.driver"; string final statis db_url = "jdbc: mysql: // localhost/emp"; // kredensial basis data static final string user = "username"; Static Final String Pass = "Kata Sandi"; public static void main (string [] args) {connection conn = null; Callablestatement stmt = null; Coba {// Langkah 2: Daftarkan JDBC Driver Class.forname ("com.mysql.jdbc.driver"); // Langkah 3: Buka koneksi System.out.println ("Menghubungkan ke Database ..."); conn = driverManager.getConnection (db_url, user, pass); // Langkah 4: Jalankan kueri System.out.println ("Membuat Pernyataan ..."); String sql = "{call getempname (?,?)}"; stmt = conn.preparecall (sql); // mengikat parameter terlebih dahulu, kemudian mengikat parameter int empid = 102; stmt.setint (1, empid); // Ini akan mengatur ID sebagai 102 // karena parameter kedua keluar jadi daftarkannya stmt.registeroutparameter (2, java.sql.types.varchar); // Gunakan metode Execute untuk menjalankan prosedur tersimpan. System.out.println ("mengeksekusi prosedur tersimpan ..."); stmt.execute (); // Ambil nama karyawan dengan metode getxxx string empname = stmt.getString (2); System.out.println ("nama emp dengan id:" + empid + "adalah" + empname); stmt.close (); conn.close (); } catch (sqlexception se) {// menangani kesalahan untuk jdbc se.printstacktrace (); } catch (Exception e) {// menangani kesalahan untuk class.forname e.printstacktrace (); } akhirnya {// akhirnya blok yang digunakan untuk menutup sumber daya coba {if (stmt! = null) stmt.close (); } catch (sqlexception se2) {} // tidak ada yang bisa kita coba {if (conn! = null) conn.close (); } catch (sqlexception se) {se.printstacktrace (); } // end akhirnya coba} // end try system.out.println ("Selamat tinggal!"); } // end Main} // end jdbcexampleSekarang kompilasi contoh di atas sebagai berikut:
C:> javac jdbcexample.java
Saat menjalankan JDBCexample, itu menghasilkan hasil berikut:
C:> java jdbcexample
Menghubungkan ke database ... membuat pernyataan ... mengeksekusi prosedur tersimpan ... nama emp dengan ID: 102 adalah zaidgoodbye!