Database Sqlite Java
Database yang ringan dan paling sering digunakan saat ini yaitu Sqlite. Sqlite merupakan pilihan yang tepat untuk menyimpan database yang bersifat relational. Begitu populernya banyak sekali API/wrapper yang tersedia di banyak bahasa seperti Java, Python, Matlab, C# juga.
Bahkan daripada Acces dari buatan microsoft, saya lebih suka menggunakan Sqlite karena ringan dan banyak tersedia aplikasi untuk edit seperti DB Browser Sqlite. Untuk contoh penggunaan seperti untuk menyimpan link hasil scraping Scraping Situs Secara Rekursif
Penambahan Driver Sqlite
Contents
Sqlite itu bisa kalian tambahkan seperti download *.jar nya atau menggunakan maven / gradle. Bila kalian lebih suka menggunakan gradle, bisa tambahkan kode berikut
implementation ‘org.xerial:sqlite-jdbc:3.30.1’
Membuat Koneksi
Perintah dibawah ini digunakan untuk membuat sebuah file jika tidak ada dan melakukan koneksi
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * * @author sqlitetutorial.net */ public class App { /** * Connect to a sample database */ public static void connect() { Connection conn = null; try { // db parameters String url = "jdbc:sqlite:D:/contoh database.db"; // create a connection to the database conn = DriverManager.getConnection(url); System.out.println("Koneksi telah terbangun"); } catch (SQLException e) { System.out.println(e.getMessage()); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException ex) { System.out.println(ex.getMessage()); } } } /** * @param args the command line arguments */ public static void main(String[] args) { connect(); } }
Membuat table pada Sqlite
Oiya sqlite itu bersifat lokal ya tidak seperti Server base yang bisa menggunakan lebih dari 1 user untuk akses databasenya. Misalkan berikut kita akan membuat tabel biodata dengan kolom sebagai berikut
- id_biodata: integer, primary key, auto increment
- nama: string
- kota: string
Untuk membuat table baru pada Sqlite seperti pada umumnya menggunakan SQL yaitu
//membuat tabel baru String sql = "CREATE TABLE IF NOT EXISTS biodata (\n" + " id_biodata integer PRIMARY KEY,\n" + " nama text NOT NULL,\n" + " kota text NOT NULL \n" + ");"; Statement stmt = conn.createStatement(); stmt.execute(sql);
Insert Data
Table yang telah dibuat, bisa kita masukan sebuah record menggunakan place holder untuk mempermudah yaitu tanda tanya.
String insert = "INSERT INTO biodata(nama,kota) VALUES(?,?)"; PreparedStatement pstmt = conn.prepareStatement(insert); pstmt.setString(1,"bejo pamungkas"); pstmt.setString(2, "lumajang"); pstmt.executeUpdate(); pstmt.setString(1,"subhan"); pstmt.setString(2, "madiun"); pstmt.executeUpdate();
Select Data
Untuk melakukan select juga mudah koq sama seperti di SQL yang lainnya yaitu
String select = "SELECT * FROM biodata"; ResultSet rs = stmt.executeQuery(select); while(rs.next()){ System.out.println(rs.getInt("id_biodata")+" "+rs.getString("nama")+" "+rs.getString("kota")); }
Update Data
Untuk update data/record pada Sqlite seperti biasa, kita membutuhkan Primary Key pada sebuah table. Berikut misalkan untuk mengubah bejo menjadi bejo pamungkas bagus pada id_biodata yang merupakan Primary Key
String update = "UPDATE biodata SET nama = ? , " + "kota = ? " + "WHERE id_biodata = ?"; PreparedStatement pstmt = conn.prepareStatement(update); pstmt.setString(1,"Bejo Pamungkas Bagu"); pstmt.setString(2,"Purworejo"); pstmt.setInt(3,1); // update pstmt.executeUpdate();
Delete Data
Hal yang sama juga kita lakukan untuk delete data/record pada Sqlite yang membutuhkan primary key.
String delete = "DELETE FROM biodata WHERE id_biodata = ?"; PreparedStatement pstmt = conn.prepareStatement(delete); pstmt.setInt(1,2); //akan menghapus id_biodata =2 pstmt.executeUpdate();
Demikianlan pembahasan mengenai Database Sqlite Java, kalian bisa explore sendiri untuk operasi seperti JOIN yang menggunakan 2 table