Cara Menghubungkan ke Pangkalan Data MySQL Dengan Java

Cara Menghubungkan ke Pangkalan Data MySQL Dengan Java

Java menyediakan JDBC (Kesambungan Pangkalan Data Java) sebagai bahagian dari Java SDK (Software Development Kit). Menggunakan ini KEBAKARAN , sangat mudah untuk menyambung ke pangkalan data hubungan dan melakukan operasi biasa seperti membuat pertanyaan, memasukkan, mengemas kini, dan menghapus rekod.





Walaupun inti JDBC API disertakan dalam java, menyambung ke pangkalan data tertentu seperti MySQL atau SQL Server memerlukan komponen tambahan yang dikenali sebagai pemacu pangkalan data. Pemacu pangkalan data ini adalah komponen perisian yang menerjemahkan inti panggilan JDBC ke dalam format yang difahami oleh pangkalan data itu.





pengawal xbox satu tidak dihidupkan

Dalam artikel ini, mari kita lihat perincian penyambungan ke pangkalan data MySQL dan bagaimana melakukan beberapa pertanyaan dengannya.





Pemacu Pangkalan Data MySQL

Seperti yang dijelaskan di atas, untuk dapat menyambung ke pangkalan data MySQL, anda memerlukan pemacu JDBC untuk MySQL. Ini dipanggil pemacu Connector / J dan boleh dimuat turun dari laman MySQL di sini.

Sebaik sahaja anda memuat turun fail ZIP (atau TAR.GZ), ekstrak arkib dan salin fail JAR mysql-connector-java - bin.jar ke lokasi yang sesuai. Fail ini diperlukan untuk menjalankan kod yang menggunakan Pemacu MySQL JDBC.



Membuat Contoh Pangkalan Data

Dengan andaian anda telah memuat turun pangkalan data MySQL dan susun dengan betul di mana anda mempunyai akses ke sana, mari kita buat contoh pangkalan data sehingga kita dapat menggunakannya untuk menghubungkan dan melakukan pertanyaan.

Sambungkan ke pangkalan data menggunakan pelanggan pilihan anda dan jalankan penyataan berikut untuk membuat contoh pangkalan data.





create database sample;

Kami juga memerlukan nama pengguna dan kata laluan untuk dapat menyambung ke pangkalan data (melainkan jika anda mahu menyambung sebagai pentadbir, yang pada umumnya merupakan idea yang tidak baik).

Berikut membuat pengguna bernama penguji yang akan menyambung ke pangkalan data MySQL dari mesin yang sama di mana ia berjalan (ditunjukkan oleh localhost ), menggunakan kata laluan sekurepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

Sekiranya anda menyambung ke pangkalan data yang berjalan di mesin lain (dinamakan jarak jauh ), anda perlu menggunakan yang berikut ( jarak jauh boleh menjadi nama hos atau alamat ip):

create user 'testuser'@'remotemc' identified by 'securepwd';

Sekarang nama pengguna dan kata laluan telah dibuat, kita perlu memberi akses ke sampel pangkalan data yang dibuat sebelumnya.

grant all on sample.* to 'testuser'@'localhost';

Atau, jika pangkalan data jauh:

grant all on sample.* to 'testuser'@'remotemc';

Anda sekarang harus mengesahkan bahawa anda boleh sambungkan ke pangkalan data sebagai pengguna yang baru anda buat dengan kata laluan yang sama. Anda juga dapat menjalankan perintah berikut setelah menyambung, untuk memastikan kebenaran semuanya betul.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Sediakan Laluan Kelas Java

Mari kita masuk ke perincian cara menyambung ke MySQL dari Java. Langkah pertama adalah memuatkan pemacu pangkalan data. Ini dilakukan dengan menggunakan perkara berikut di lokasi yang sesuai.

permintaan untuk deskriptor peranti usb gagal
Class.forName('com.mysql.jdbc.Driver');

Kod tersebut dapat menimbulkan pengecualian, jadi anda dapat menangkapnya jika anda ingin menghadapinya (seperti memformat pesan ralat untuk GUI).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Adalah sangat biasa untuk menggunakan kod ini dalam blok statik di kelas sehingga program gagal dengan segera jika pemacu tidak dapat dimuat.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

Sudah tentu, untuk dapat mencari pemandu, program mesti dipanggil dengan pemandu JAR (dimuat turun dan diekstrak di atas) termasuk dalam laluan kelas seperti berikut.

java -cp mysql-connector-java - bin.jar: ...

Menyambung ke MySQL Dari Java

Sekarang kita telah menghilangkan butiran memuat pemacu MySQL dari java, mari kita sambungkan ke pangkalan data. Salah satu cara untuk membuat sambungan pangkalan data adalah menggunakan Pemandu Pemandu .

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

Dan apakah itu jdbcUrl ? Ini menunjukkan perincian sambungan, termasuk pelayan di mana pangkalan data berada, nama pengguna dan sebagainya. Berikut adalah contoh URL untuk contoh kami.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

Perhatikan bahawa kami telah memasukkan semua parameter yang diperlukan untuk sambungan, termasuk nama host ( localhost ), nama pengguna dan kata laluan. (Termasuk kata laluan seperti ini BUKAN amalan yang baik, lihat di bawah untuk alternatif.)

Menggunakan ini jdbcUrl , berikut adalah program lengkap untuk memeriksa kesambungan.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

Perhatikan bahawa sambungan pangkalan data adalah sumber yang berharga dalam program dan mesti ditutup dengan betul seperti di atas. Walau bagaimanapun, kod di atas tidak menutup sambungan sekiranya terdapat pengecualian. Untuk menutup sambungan pada jalan keluar biasa atau tidak normal, gunakan corak berikut:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

Seperti yang dinyatakan di atas, adalah idea yang buruk untuk memasukkan kata laluan dalam URL JDBC. Untuk menentukan nama pengguna dan kata laluan secara langsung, anda boleh menggunakan pilihan sambungan berikut.

permainan yang menyeronokkan untuk dimainkan melalui snapchat
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Meminta Pangkalan Data Dari Java

Setelah sambungan ke pangkalan data dibuat, mari kita lihat bagaimana melakukan pertanyaan, seperti meminta versi pangkalan data:

select version();

Pertanyaan dijalankan dalam java seperti berikut. A Penyataan objek dibuat dan pertanyaan dijalankan menggunakan executeQuery () kaedah yang mengembalikan a ResultSet .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Cetak versi dari ResultSet seperti berikut. 1 merujuk kepada indeks lajur dalam hasil, bermula dari 1.

while ( rset.next()) {
System.out.println('Version: ' + rset.getString(1));
}

Setelah memproses hasilnya, objek perlu ditutup.

rset.close();
stmt.close();

Dan itu merangkumi semua yang ada untuk menyambung ke MySQL dari java dan melakukan pertanyaan sederhana.

Lihat juga kami SQL memerintahkan cheat sheet .

Berkongsi Berkongsi Tweet E-mel Adakah Baik untuk Memasang Windows 11 pada PC yang tidak serasi?

Anda kini boleh memasang Windows 11 pada PC lama dengan fail ISO rasmi ... tetapi adakah idea yang baik untuk melakukannya?

Baca Seterusnya
Topik-topik yang berkaitan
  • Pengaturcaraan
  • Jawa
  • SQL
Mengenai Pengarang Jay Sridhar(17 Artikel Diterbitkan) Lagi Dari Jay Sridhar

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan