Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menyambung Pangkalan Data di Java?

Bagaimana untuk Menyambung Pangkalan Data di Java?

WBOY
WBOYasal
2024-08-30 16:11:391017semak imbas

Semasa menulis aplikasi IT menggunakan mana-mana bahasa pengaturcaraan, aliran data dari dan ke aplikasi berfungsi dengan fungsi teras. Jika aliran data terjejas entah bagaimana, ia boleh menjejaskan fungsi aplikasi dan boleh menyebabkan kerugian besar kepada perniagaan. Kaedah yang berbeza tersedia hari ini untuk menyambungkan program anda ke pangkalan data untuk memberikan pengguna maklumat yang mereka minta, mengumpul maklumat daripada pengguna, memadam maklumat seperti yang diperlukan oleh pengguna dan mengemas kini data ke pangkalan data setiap hari. Kami akan melihat satu pendekatan sedemikian dengan menggunakan Java sebagai bahasa pengaturcaraan kami, JDBC sebagai kaedah sambungan pangkalan data dan mengikut pendekatan berorientasikan objek.

Mulakan Kursus Sains Data Percuma Anda

Hadoop, Sains Data, Statistik & lain-lain

Apakah itu JDBC?

JDBC adalah singkatan kepada Java Database Connectivity, dan ia membantu program Java untuk melaksanakan pelbagai jenis operasi ke atas pangkalan data, seperti mencipta, membaca, mengemas kini dan memadam. Selain itu, JDBC ialah API Java.

Dengan menggunakan JDBC, pengaturcara seharusnya boleh:

  • Mewujudkan sambungan dengan pangkalan data
  • Jalankan arahan SQL dengan menghantarnya ke pangkalan data
  • Mentafsir keputusan yang datang daripada pangkalan data

Mencipta Pangkalan Data untuk Menyambung Pangkalan Data dalam Java

Sebelum bekerja dengan JDBC, ia dikehendaki mempunyai pangkalan data untuk menyambung kepadanya. Kami akan menggunakan Pangkalan Data Oracle demi ilustrasi kami. Sila muat turun Oracle 11g edisi ekspres daripada pautan di bawah.

Klik Di Sini

Saya sudah mempunyai pemasang Oracle 10g sedia dengan saya, seperti yang anda boleh lihat di bawah:

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Sila klik dua kali pada pemasang; skrin di bawah akan muncul. Klik seterusnya.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Sila terima perjanjian lesen dan klik pada seterusnya.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Sila kekalkan tetapan lalai seperti sedia ada dan klik pada seterusnya.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Ia akan meminta kata laluan yang diperlukan apabila anda log masuk ke contoh Oracle 11g. Sila berikan kata laluan dan klik pada seterusnya.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Selepas anda memberikan kata laluan, proses pemasangan akan bermula. Setelah pemasangan selesai, ikon pintasan akan dibuat pada skrin desktop anda. Jika anda tidak menemuinya, sila pergi ke Windows Start dan cari Oracle; anda patut mendapatkannya. Klik padanya untuk membuka klien tipis untuk anda melalui penyemak imbas. Log masuk ke contoh. Sila ambil perhatian bahawa nama pengguna adalah sama untuk Oracle DB, iaitu sistem. Kata laluan ialah kata laluan yang anda berikan semasa mengkonfigurasi pangkalan data.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Sekarang setelah anda log masuk,  skrin pertama yang anda akan lihat akan kelihatan seperti di bawah:

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Sekarang mari buat jadual. Sila klik pada modul SQL dari skrin di atas dan jalankan pertanyaan di bawah.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

  • Seperti yang anda lihat, kami telah berjaya mencipta jadual bernama Educba.

Sambungkan Pangkalan Data dalam Java

Beberapa antara muka dan kelas digunakan untuk menyambung ke pangkalan data dan melaksanakan operasi menggunakan API JDBC.

Kami akan menerangkan satu persatu, tetapi izinkan saya membentangkan kepada anda program di bawah dahulu:

Bagaimana untuk Menyambung Pangkalan Data di Java?

Bagaimana untuk Menyambung Pangkalan Data di Java?

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

Di bawah ialah antara muka yang akan kami gunakan untuk menyambung ke pangkalan data dan melakukan operasi ke atasnya:

  1. Pengurus Pemandu
  2. Sambungan
  3. Kenyataan
  4. Set keputusan
  5. Penyata yang disediakan

Mari kita lihat operasi yang boleh kita lakukan sebagai sebahagian daripada operasi JDBC.

  1. Simpan data daripada entiti kepada pangkalan data, iaitu, mereka mencipta operasi.
  2. Dapatkan semula data kepada entiti atau kacang daripada pangkalan data
  3. Kemas kini data untuk entiti atau kacang dalam pangkalan data
  4. Padam atau alih keluar data pada entiti atau kacang daripada pangkalan data.

Tidak kira apa operasi yang kami lakukan, beberapa langkah asas akan tetap sama:

  1. Muatkan pemandu.
class.forName("oracle.jdbc.driver.OracleDriver");
  1. Buat rentetan URL
String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";
  1. Gunakan pengurus pemandu untuk membuat sambungan
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
  1. Gunakan rujukan Sambungan untuk membuat pernyataan
stmt = conn.createStatement();
  1. Gunakan pernyataan untuk melaksanakan pertanyaan

Bagaimana untuk Menyambung Pangkalan Data di Java?

6. Proses set keputusan ( pilihan, bergantung )

7. Lepaskan sumber dalam blok terakhir.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Ilustrasi

Apabila kami menggunakan pangkalan data Oracle dalam ilustrasi kami, kami perlu mempunyai pemacu yang diperlukan yang Oracle perlu sediakan. Kelas pemandu biasanya dalam bentuk fail jar dengan nama ojdbc14.jar. Pemacu ini harus diimport ke program Java anda sebagai sebahagian daripada "Perpustakaan Rujukan" jika ia tiada.

Jika anda telah memasang Oracle 11g dalam folder C anda, ia boleh didapati dalam laluan di bawah: ( Jika tiada, ia boleh dimuat turun dengan mudah dari sini )

C: produk oracle apl oracle 10.2.0 pelayan jdbc lib

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

Banyak fail balang sepatutnya tersedia; walau bagaimanapun, ojdbc14.jar adalah yang terkini. Perkara yang sama boleh digunakan untuk tujuan kita. Balang ini harus ditambah pada laluan kelas projek. Sila semak imej di bawah.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

Mari kami mencipta jadual artis dengan atribut berikut: Anda boleh terus menjalankan baris arahan SQL sebagai modul berasingan Edisi Oracle Express. Tetapi pertama-tama, anda perlu menyambung dan anda boleh melaksanakan perintah "sambung" untuk menyambung ke pangkalan data.

Bagaimana untuk Menyambung Pangkalan Data di Java?

Sumber: Dari desktop saya

Sebagai sebahagian daripada ilustrasi ini, kami akan mencipta tiga kelas Java, iaitu Artist.java, CreateTable.java dan ArtistManagementDao.java, untuk mencapainya.

Selain itu, kita mesti mencipta kelas yang dipanggil Artist Bean dalam lapisan Java. Kelas ini harus mempunyai atribut Artis dengan konteks di atas. Ia akan kelihatan seperti di bawah:

Artist.java

Bagaimana untuk Menyambung Pangkalan Data di Java?

Mari kita cipta dua kelas Java lain dengan nama ArtistManagementDao dan CreateTable.java.

ArtistManagementDao.java

package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArtistManagementDao {
private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver";
private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE";
private final static String USERNAME="System";
private final static String PASSWORD="Your DB password";
private Connection con =null;
public void addArtist(Artist a)
{
try {
Class.forName(DRIVERNAME);
String sql="insert into Artist1 values (?,?)";
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1, a.getArtistID());
pst.setString(2, a.getArtistName());
pst.executeUpdate();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println(e);
} catch (SQLException e) {
System.out.println(e);
}
}
}

Penjelasan:

  1. Kelas Dao membantu kami mengasingkan lapisan aplikasi/perniagaan daripada lapisan kegigihan. Ini biasanya pangkalan data hubungan.
  2. Kami telah mencipta URL DB dengan nama komputer anda dan nombor port DB (sebaik-baiknya 1521 ), didahului oleh JDBC:oracle:thin:@. Kemudian, kami mencipta nama pengguna dan kata laluan untuk menghantar atribut ini semasa sambungan Pangkalan Data. Adalah sangat disyorkan untuk menyulitkan nilai ini dalam persekitaran pengeluaran.
  3. Di dalam kaedah addArtist, kami cuba mewujudkan sambungan kami dengan mengikuti langkah yang kami pelajari sebelum ini menggunakan pernyataan sambung.
  4. Kami telah menggunakan kaedah sisipan untuk menolak nilai daripada atribut ke pangkalan data.
  5. Dalam pernyataan seterusnya, untuk menguji, kami mempunyai pernyataan get untuk mendapatkan semula nilai daripada pangkalan data.
  6. Kami juga telah cuba menangkap blok kerana menangkap sebarang pengecualian dan membuang yang sama.

CreateTable.java

package com;
import java.sql.*;
public class CreateTable{
static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE";
static final String USER = "System";
static final String PASS = "Your DB Password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
ArtistManagementDao am=new ArtistManagementDao();
Artist a=new Artist();
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected to database successfully");
System.out.println("Creating table");
stmt = conn.createStatement();
//ARTIST TABLE
String sql = "CREATE TABLE Artist3 " +
"(ArtistID varchar2(5) primary key not NULL, " +
" ArtistName varchar2(25))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database...");
a.setArtistId("abc");
a.setArtistName("ankit");
am.addArtist(a);
System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName());
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
}
}

Penjelasan:

  1. Kami telah mencipta URL DB dengan nama komputer anda dan nombor port DB (sebaik-baiknya 1521 ),  didahului oleh JDBC:oracle:thin:@. Kemudian, kami mencipta nama pengguna dan kata laluan untuk menghantar atribut ini semasa sambungan Pangkalan Data. Adalah sangat disyorkan untuk menyulitkan nilai ini dalam persekitaran pengeluaran.
  2. Dalam kelas CreateTable.java, kami mencipta objek "am" dan "a" bagi kelas ArtistManagementDao.java dan Artist.java.
  3. Kemudian kami cuba mewujudkan sambungan kami dengan mengikuti langkah yang kami pelajari sebelum ini menggunakan pernyataan sambung.
  4. Kemudian kami mencipta jadual dengan nama Artist3 dan mengemas kini pangkalan data atau menolaknya ke pangkalan data menggunakan laksanakan pernyataan.
  5. Jika kami ingin memberikan nilai kepada atribut, kami akan menggunakan objek yang kami cipta untuk kelas artis dan ambil perhatian bahawa kelas ini tidak akan memasukkan nilai ke dalam pangkalan data; ia akan menjadi kelas ArtistmanagementDao. Kami sudah mempunyai nilai yang disimpan dalam atribut dan akan melihat dalam kelas hari cara untuk menolak ini ke pangkalan data.
  6. Akhir sekali, kami telah menggunakan objek "am" daripada ArtistManagementDao untuk menghantar objek "a" ini kepada kaedah addArtist() kelas java ArtistManagementDao.
  7. Kami juga telah cuba menangkap blok kerana menangkap sebarang pengecualian dan membuang yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Menyambung Pangkalan Data di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Tetapkan Antara Muka dalam JavaArtikel seterusnya:Tetapkan Antara Muka dalam Java