Thursday, June 12, 2025

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

  

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

Popular Posts