Tuesday, July 22, 2025

.::: Simulation Query Select from Java to MariaDB using mariadb-java-client-3.5.3.jar (MariaDB Driver) using MariaDB SSL Certificate :::.

 

openssl pkcs12 -export -in /home/user/certs/client-cert.pem -inkey /home/user/certs/client-key.pem -out /home/user/certs/client-cert.p12 -name client -CAfile /home/user/certs/ca-cert.pem -caname root -passout pass:root

2. create sample view java to check connection 
 
openssl pkcs12 -export -in /home/user/certs/client-cert.pem -inkey /home/user/certs/client-key.pem -out /home/user/certs/client-cert.p12 -name client -CAfile /home/user/certs/ca-cert.pem -caname root -passout pass:root

[root@teguhth simulation]# cat ssl_MariaDBTest.java
import java.sql.*;

public class ssl_MariaDBTest {
    public static void main(String[] args) {
        String url = "jdbc:mariadb://10.10.10.9:3306/teguhth"
                   + "?sslMode=VERIFY_CA"
                   + "&trustServerCertificate=false"
                   + "&serverSslCert=/home/user/certs/ca-cert.pem"
                   + "&keyStore=file:/home/user/certs/client-cert.p12"
                   + "&keyStorePassword=root"; // sesuai yang kamu buat saat ekspor p12

        String user = "adminssl";
        String pass = "adminssl";

        try {
            Connection conn = DriverManager.getConnection(url, user, pass);
            System.out.println("Koneksi berhasil.");
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

[root@teguhth simulation]#


3. create sample view java to query 

[root@teguhth simulation]# cat ssl_queryjoin.java
import java.sql.*;

public class ssl_queryjoin {
    public static void main(String[] args) {
        String url = "jdbc:mariadb://10.10.10.9:3306/teguhth"
                   + "?sslMode=VERIFY_CA"
                   + "&trustServerCertificate=false"
                   + "&serverSslCert=/home/user/certs/ca-cert.pem"
                   + "&keyStore=file:/home/user/certs/client-cert.p12"
                   + "&keyStorePassword=root"; // sesuai yang kamu buat saat ekspor p12

        String user = "adminssl";
        String pass = "adminssl";

        try {
            Connection conn = DriverManager.getConnection(url, user, pass);

            // Jalankan query
            String query = "select b.NAMA_BARANG,s.NAMA_SUPLIER,p.TANGGAL_PASOK,p.JUMLAH_PASOK from barang b,suplier s,pasok p where b.KODE_BARANG=p.KODE_BARANG and s.KODE_SUPLIER=p.KODE_SUPLIER;";

//String query = "SELECT b.NAMA_BARANG, s.NAMA_SUPLIER, p.TANGGAL_PASOK, p.JUMLAH_PASOK, (SELECT SLEEP(20)) as DELAY FROM barang b, suplier s, pasok p WHERE b.KODE_BARANG = p.KODE_BARANG AND s.KODE_SUPLIER = p.KODE_SUPLIER;";

//String query ="select * from pembelian;";

//String query = "select KODE_PEMBELIAN,KODE_BARANG,KODE_CUSTOMER,TANGGAL_PEMBELIAN,JUMLAH_PEMBELIAN from pembelian;";

            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(query);

            // Ambil metadata kolom
            ResultSetMetaData meta = rs.getMetaData();
            int columnCount = meta.getColumnCount();

            // Cetak header kolom
            for (int i = 1; i <= columnCount; i++) {
                System.out.print(meta.getColumnName(i) + "\t");
            }
            System.out.println();
            System.out.println("=".repeat(80)); // Garis pemisah

            // Cetak isi baris
            while (rs.next()) {
                for (int i = 1; i <= columnCount; i++) {
                    System.out.print(rs.getString(i) + "\t");
                }
                System.out.println();
            }

            // Tutup semua
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException e) {
            System.out.println("Terjadi kesalahan:");
            e.printStackTrace();
        }
    }
}

[root@teguhth simulation]#


4. create java class


javac -cp .:mariadb-java-client-3.5.3.jar ssl_MariaDBTest.java
javac -cp .:mariadb-java-client-3.5.3.jar ssl_queryjoin.java

[root@teguhth simulation]# javac -cp .:mariadb-java-client-3.5.3.jar ssl_MariaDBTest.java
[root@teguhth simulation]#
[root@teguhth simulation]# javac -cp .:mariadb-java-client-3.5.3.jar ssl_queryjoin.java
[root@teguhth simulation]#


5. run java query 

java -cp .:mariadb-java-client-3.5.3.jar ssl_MariaDBTest
java -cp .:mariadb-java-client-3.5.3.jar ssl_queryjoin

[root@teguhth simulation]# java -cp .:mariadb-java-client-3.5.3.jar ssl_MariaDBTest
Koneksi berhasil.
[root@teguhth simulation]# java -cp .:mariadb-java-client-3.5.3.jar ssl_queryjoin
NAMA_BARANG     NAMA_SUPLIER    TANGGAL_PASOK   JUMLAH_PASOK
================================================================================
RICE COOKER     PT ACTRON       2002-01-01      8
RICE COOKER     PT MULYA ELEKTRONIK     2002-01-01      5
LEMARI ES       PT ACTRON       2002-02-01      2
LEMARI ES       PT MULYA ELEKTRONIK     2002-02-02      3
LEMARI ES       PT SUPERTRON    2002-01-01      2
TELEVISI        PT ACTRON       2002-03-03      5
TELEVISI        PT ACTRON       2002-03-04      2
TELEVISI        PT ACTRON       2002-03-03      3
TELEVISI        PT ULTRASOUND   2002-03-13      4
TELEVISI        PT ULTRASOUND   2002-03-13      3
RADIO/TAPE      PT ULTRASOUND   2002-04-22      12
RADIO/TAPE      PT SUPERTRON    2002-04-30      9
[root@teguhth simulation]#

No comments:

Post a Comment

Popular Posts