SQLite - Java: Panduan untuk Pemula

Hai teman, super bintang coding masa depan! ? Selamat datang ke dunia yang menakjubkan SQLite dan Java. Saya sangat senang menjadi pandu Anda dalam perjalanan yang menarik ini. Sebagai orang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa menjamin Anda bahwa pada akhir tutorial ini, Anda akan terpesona oleh apa yang Anda capai. Jadi, mari kita mulai!

SQLite - Java

Instalasi

Sebelum kita mulai menciptakan keajaiban basis data, kita perlu mengatur tools kita. PERTAMA, pikirkan itu seperti menyiapkan dapur sebelum memasak makanan lezat. ?

  1. Pertama, unduh driver JDBC SQLite dari sini.
  2. Tambahkan file JAR yang diunduh ke classpath proyek Java Anda.

Ini adalah kode snippet kecil untuk memeriksa apakah segalanya sudah diatur dengan benar:

import java.sql.*;

public class SQLiteTest {
public static void main(String[] args) {
try {
Class.forName("org.sqlite.JDBC");
System.out.println("SQLite JDBC driver dimuat dengan sukses!");
} catch (ClassNotFoundException e) {
System.out.println("Error: SQLite JDBC driver tidak ditemukan.");
e.printStackTrace();
}
}
}

Jika Anda melihat "SQLite JDBC driver dimuat dengan sukses!" saat Anda menjalankan ini, Anda sudah siap!

Menghubungkan ke Basis Data

Sekarang kita sudah memiliki bahan-bahan siap, mari kita mulai memasak! ?️ Menghubungkan ke basis data adalah seperti membuka kulkas - itu adalah langkah pertama untuk menciptakan sesuatu yang menakjubkan.

import java.sql.*;

public class SQLiteConnect {
public static void main(String[] args) {
Connection conn = null;
try {
String url = "jdbc:sqlite:test.db";
conn = DriverManager.getConnection(url);
System.out.println("Koneksi ke SQLite telah terbentuk.");
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
}

Kode ini menciptakan koneksi ke basis data SQLite bernama "test.db". Jika file itu tidak ada, SQLite akan menciptakannya untuk Anda. Apakah itu menakjubkan?

Membuat Tabel

Sekarang kita sudah terhubung, mari kita buat sebuah tabel. PERTAMA, pikirkan tabel sebagai spreadsheet dalam basis data Anda. Kita akan membuat tabel "students" sederhana.

import java.sql.*;

public class CreateTable {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";

String sql = "CREATE TABLE IF NOT EXISTS students (" +
"id INTEGER PRIMARY KEY," +
"name TEXT NOT NULL," +
"grade INTEGER" +
");";

try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement()) {
stmt.execute(sql);
System.out.println("Tabel berhasil dibuat!");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Kode ini membuat tabel bernama "students" dengan tiga kolom: id, name, dan grade. Bagian "IF NOT EXISTS" adalah seperti memukul pintu dengan sopan - itu memeriksa apakah tabel sudah ada sebelum mencoba untuk membuatnya.

Operasi INSERT

Sekarang mari kita tambahkan beberapa data ke tabel kita. Ini seperti mengisi spreadsheet yang kita buat sebelumnya.

import java.sql.*;

public class InsertData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "INSERT INTO students(name,grade) VALUES(?,?)";

try (Connection conn = DriverManager.getConnection(url);
PreparedStatement pstmt = conn.prepareStatement(sql)) {

pstmt.setString(1, "Alice");
pstmt.setInt(2, 85);
pstmt.executeUpdate();

pstmt.setString(1, "Bob");
pstmt.setInt(2, 90);
pstmt.executeUpdate();

System.out.println("Data berhasil ditambahkan!");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Kode ini menambahkan dua murid ke tabel kita. Tanda "?" dalam pernyataan SQL adalah placeholder yang kita isi dengan setString() dan setInt(). Itu seperti mengisi blanko dalam kalimat!

Operasi SELECT

Sekarang kita sudah menambahkan beberapa data, mari kitaambilnya. Ini seperti membaca dari spreadsheet kita.

import java.sql.*;

public class SelectData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "SELECT id, name, grade FROM students";

try (Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {

while (rs.next()) {
System.out.println(rs.getInt("id") + "\t" +
rs.getString("name") + "\t" +
rs.getInt("grade"));
}
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Kode ini mengambil semua data dari tabel murid kita dan mencetaknya. Loop while adalah seperti melalui setiap baris dari spreadsheet kita satu per satu.

Operasi UPDATE

kadang-kadang kita perlu mengubah data yang sudah ada dalam tabel kita. Mari kita perbarui nilai grade Alice.

import java.sql.*;

public class UpdateData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "UPDATE students SET grade = ? WHERE name = ?";

try (Connection conn = DriverManager.getConnection(url);
PreparedStatement pstmt = conn.prepareStatement(sql)) {

pstmt.setInt(1, 95);
pstmt.setString(2, "Alice");
pstmt.executeUpdate();
System.out.println("Data berhasil diperbarui!");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Kode ini memperbarui nilai grade Alice menjadi 95. Itu seperti menghapus sel di spreadsheet kita dan menulis nilai baru.

Operasi DELETE

Akhirnya, mari kita belajar bagaimana menghapus data dari tabel kita. Mungkin Bob memutuskan untuk transfer ke sekolah lain.

import java.sql.*;

public class DeleteData {
public static void main(String[] args) {
String url = "jdbc:sqlite:test.db";
String sql = "DELETE FROM students WHERE name = ?";

try (Connection conn = DriverManager.getConnection(url);
PreparedStatement pstmt = conn.prepareStatement(sql)) {

pstmt.setString(1, "Bob");
pstmt.executeUpdate();
System.out.println("Data berhasil dihapus!");
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}

Kode ini menghapus Bob dari tabel murid kita. Itu seperti menghapus seluruh baris dari spreadsheet kita.

Dan itu saja! Anda telah belajar dasar-dasar bekerja dengan SQLite di Java. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba contoh-contoh ini. Sebelum Anda tahu, Anda akan menciptakan aplikasi basis data yang kompleks!

Berikut adalah tabel rujukan cepat metode utama yang kita gunakan:

Metode Deskripsi
DriverManager.getConnection(url) Membentuk koneksi ke basis data
Connection.createStatement() Membuat Statement object untuk menjalankan SQL
Connection.prepareStatement(sql) Membuat PreparedStatement untuk menjalankan SQL yang diparameterkan
Statement.execute(sql) Menjalankan pernyataan SQL yang tidak mengembalikan hasil
Statement.executeQuery(sql) Menjalankan query SQL dan mengembalikan ResultSet
PreparedStatement.setString(index, value) Mengatur parameter String dalam PreparedStatement
PreparedStatement.setInt(index, value) Mengatur parameter int dalam PreparedStatement
PreparedStatement.executeUpdate() Menjalankan pernyataan INSERT, UPDATE, atau DELETE
ResultSet.next() Memindahkan ke baris berikutnya dalam ResultSet
ResultSet.getInt(columnName) Mendapatkan nilai int dari baris saat ini
ResultSet.getString(columnName) Mendapatkan nilai String dari baris saat ini

Tetap mengoding, tetap belajar, dan yang paling penting, bersenang-senang! ??

Credits: Image by storyset