correlation https://teguhth.blogspot.com/2025/06/simulation-query-select-from-java-to.html
https://teguhth.blogspot.com/2025/06/simulation-connection-java-to-mariadb.html
1. Konversi client-cert.pem dan client-key.pem ke .p12
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