Maven

Detail terpenting adalah pustaka Driver JDBC untuk server MySQL itu sendiri. Itu tidak akan muncul di komputer Anda, jadi Anda perlu menambahkannya di sana.

Jika Anda menggunakan Maven, Anda perlu membantunya dengan menunjukkan perpustakaan yang tepat.

Sopir JDBC MySQL :

   	<dependency>
        	<groupId>mysql</groupId>
        	<artifactId>mysql-connector-java</artifactId>
        	<version>8.0.29</version>
    	</dependency>

Cukup tambahkan kode ini ke pom.xml Anda .

Saya juga akan memberikan beberapa driver yang lebih populer.

Driver JDBC untuk PostgeSQL :

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.4.0</version>
</dependency>

Driver JDBC untuk Oracle :

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.5.0.0</version>
</dependency>

Sopir JDBC untuk H2 :

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>

Kueri basis data pertama

Semua pustaka yang diperlukan disertakan, sekarang saatnya menjalankan program akses database pertama Anda. Kami akan menulis semua kode dalam metode main() .

Tahap 1 . Tambahkan beberapa impor sebelum metode main() - ini akan membuat hidup Anda lebih mudah:

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

Tahap 2 . Pertama kita perlu membuat koneksi database. Untuk melakukannya, dalam metode main() , tulis kode berikut:

Connection connection  = DriverManager.getConnection(
           "jdbc:mysql://localhost:3306/test",
           "login", "password");

Anda juga dapat melakukannya dalam satu baris - mana yang lebih nyaman bagi Anda. Login dan kata sandi, tentu saja, Anda perlu mengganti yang asli dari server MySQL lokal Anda.

Tahap 3 . Kami membuat kueri ke database. Mari dapatkan semua pengguna dari tabel pengguna. Maka Anda perlu menambahkan baris kode ini:

Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");

Itu dua baris. Yang pertama kita membuat objekPenyataan, dan yang kedua, kami menggunakannya untuk menanyakan database. Metode executionQuery() mengeksekusi kueri basis data dan mengembalikan objek bertipekumpulan hasil.

Tahap 4 . Menampilkan data yang terdapat pada objekkumpulan hasil.

kumpulan hasil- ini bukan satu set, hanya disebut begitu. Ini menyimpan hasil eksekusi kueri. Objek ini agak mirip dengan iterator: ini memungkinkan Anda untuk mengatur / mengubah baris hasil saat ini, dan kemudian Anda bisa mendapatkan data dari baris saat ini. Tambahkan kode berikut ke contoh Anda:

while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
}

Metode next() mengubah baris hasil saat ini ke baris berikutnya. Mengembalikan nilai true jika ada garis seperti itu, dan false jika tidak ada garis lagi.

Kemudian dari garis objek saat inikumpulan hasilanda bisa mendapatkan data dari kolomnya:

  • getRow() - mengembalikan nomor baris saat ini di objekkumpulan hasil
  • getInt(N) - akan mengembalikan data kolom ke-N dari baris saat ini sebagai int
  • getString(N) - akan mengembalikan data kolom ke-N dari baris saat ini sebagai sebuah String

Daftar program lengkap

Untuk meminimalisir error, berikut adalah daftar lengkap programnya:

package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class JdbcApplicatin {
    public static void main(String[] args) throws  Exception{
 	   Connection connection  = DriverManager.getConnection(
          	"jdbc:mysql://localhost:3306/test",
          	"root", "secret");

        Statement statement = connection.createStatement();
    	ResultSet results = statement.executeQuery("SELECT * FROM user");

    	while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
    	}
    	connection.close();
    }
}

Dan output layar saya setelah menjalankan program:

"C:\Program Files\Java\jdk-17.0.3.1\bin\java.exe...
sebelas Ivanov Ivan
2.2 Petrov Nikolai
3.3 Sidorov Vitaly
Proses selesai dengan kode keluar 0