×

Database Sqlite Java

Database Sqlite Java

884 Views

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

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

 

See also  Library SQLite untuk Menyimpan Jutaan record

You May Have Missed