https://teguhth.blogspot.com/2025/06/simulation-connection-java-to-mariadb.html
1. Script java
[root@teguhth maria]# cat queryjoin.java
import java.sql.*;
public class queryjoin {
public static void main(String[] args) {
String url = "jdbc:mariadb://10.10.10.90:3306/teguhth"; // Ganti IP jika perlu
String user = "admin";
String pass = "admin";
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_PASOK,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 maria]#
2. run script
javac -cp .:mariadb-java-client-3.5.3.jar queryjoin.java
3. after create class run
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
4. Run if using shellscript
[root@teguhth maria]# sh maria-durajoin.sh
5. Script
[root@teguhth maria]# cat maria-durajoin.sh
#!/bin/bash
# Menyimpan waktu mulai dalam format manusiawi
# For Test
# timedatectl set-time "2020-03-22 08:34:00"
datex=$(date "+%Y-%m-%d %H:%M:%S.%N")
#epoch_start='1580390912'
epoch_start=$(date +%s) # Gunakan detik saja, jangan nanodetik
echo "$datex ->>> Start Process"
# For Test
# timedatectl set-time "2025-01-31 08:34:00"
# vmware-toolbox-cmd timesync enable
######## Script Begin ########
echo "run 10x 'java -cp .:mariadb-java-client-3.5.3.jar queryjoin' using MariaDB Java 8+ Connector"
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
java -cp .:mariadb-java-client-3.5.3.jar queryjoin
######## Script Finish ########
# Menyimpan waktu selesai dalam format manusiawi
datey=$(date "+%Y-%m-%d %H:%M:%S.%N")
epoch_end=$(date +%s) # Gunakan detik saja
#epoch_end='1738253312'
echo "$datey ->>> Finish Process"
# Menghitung selisih waktu dalam detik
finish=$((epoch_end - epoch_start))
# Menghitung hari, jam, menit, dan detik
days=$((finish / 86400))
hours=$(((finish % 86400) / 3600))
minutes=$(((finish % 3600) / 60))
seconds=$((finish % 60))
# Konversi ke tahun, bulan, hari, jam, menit, dan detik
yearsx=$((finish / 31536000)) # 1 tahun = 365 * 24 * 3600 detik
remaining=$((finish % 31536000))
monthsx=$((remaining / 2592000)) # 1 bulan = 30 * 24 * 3600 detik
remaining=$((remaining % 2592000))
daysx=$((remaining / 86400)) # 1 hari = 86400 detik
remaining=$((remaining % 86400))
hoursx=$((remaining / 3600)) # 1 jam = 3600 detik
remaining=$((remaining % 3600))
minutesx=$((remaining / 60)) # 1 menit = 60 detik
secondsx=$((remaining % 60))
# Format output
formatted_time=$(printf "%d:%02d:%02d:%02d" "$days" "$hours" "$minutes" "$seconds")
# Format output
formatted_time2=$(printf "%d Tahun, %d Bulan, %d Hari, %02d:%02d:%02d" "$yearsx" "$monthsx" "$daysx" "$hoursx" "$minutesx" "$secondsx")
echo "Duration Process"
echo "run 10x 'java -cp .:mariadb-java-client-3.5.3.jar queryjoin' using MariaDB Java 8+ Connector"
echo "Start : $datex"
echo "Finish : $datey"
echo "Duration 1 : $formatted_time"
echo "Duration 2 : $formatted_time2"
echo ""
echo "Copyright by : Teguh Triharto"
echo "Website : https://www.linkedin.com/in/teguhth"
echo ""
[root@teguhth maria]#
No comments:
Post a Comment