/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Project/Maven2/JavaApp/src/main/java/${packagePath}/${mainClassName}.java to edit this template */ package com.megatim.queryadhoc; import com.megatim.queryadhoc.enums.SgbdType; import com.megatim.queryadhoc.enums.TypeDonnee; import com.megatim.queryadhoc.exceptions.ConnectionException; import com.megatim.queryadhoc.exceptions.ConnectionParameterException; import com.megatim.queryadhoc.exceptions.IllegalFormatDateException; import com.megatim.queryadhoc.exceptions.NotSupportedDataBaseException; import com.megatim.queryadhoc.model.ConnectionParameter; import com.megatim.queryadhoc.model.DbColumnDescription; import com.megatim.queryadhoc.query.insert.impl.PostgresInsertQuery; import com.megatim.queryadhoc.query.select.impl.PostgresSelectQuery; import com.megatim.queryadhoc.table.DataBaseTable; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author ASUS */ public class App { private static final String TABLE_NAME = "users"; private static final String DATABASE_NAME = "test_query"; private static final String OUTPUT_DIR = "C:\\Users\\ASUS\\Documents\\DATAS\\Export"; public static void main(String[] args) { // tableExists(); // isDatabaseAvailable(); // insert(); select(); } private static ConnectionParameter mySqlConnectionParameters() { return new ConnectionParameter(3306, DATABASE_NAME, "mela", "127.0.0.1", "mela"); } private static ConnectionParameter postgresConnectionParameters() { return new ConnectionParameter(5432, DATABASE_NAME, "postgres", "127.0.0.1", "mela"); } private static ConnectionParameter sqlServerConnectionParameters() { return new ConnectionParameter(1433, DATABASE_NAME, "sa", "192.168.1.210", "Mgt@9090"); } private static void isDatabaseAvailable() { try { boolean bool = new DataBaseTable(SgbdType.POSTGRESQL, postgresConnectionParameters()) .isDatabaseAvailable(); System.out.println("Result : " + bool); } catch (NotSupportedDataBaseException | ConnectionParameterException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); } } private static void tableExists() { try { boolean bool = new DataBaseTable(SgbdType.POSTGRESQL, postgresConnectionParameters()) .tableExists("users1"); System.out.println("Result : " + bool); } catch (NotSupportedDataBaseException | ConnectionParameterException | ConnectionException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, ex.getMessage(), ex); } } private static void select() { try { // List> data = new DataBaseTable() // .select(SgbdType.POSTGRESQL, postgresConnectionParameters()) // .execute(TABLE_NAME, Arrays.asList("userName", "dateaction")); // // data.stream().forEach(l -> { // l.forEach((k, v) -> { // System.out.println(k + ", " + v); // }); // }); new DataBaseTable(SgbdType.POSTGRESQL, postgresConnectionParameters()) .select() .execute(TABLE_NAME, columns(), OUTPUT_DIR, TABLE_NAME, false); } catch (NotSupportedDataBaseException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } } private static void insert() { try { File dataFile = new File("C:\\Users\\ASUS\\Documents\\DATAS\\Export\\USERS20250129102052.txt"); new DataBaseTable(SgbdType.POSTGRESQL, postgresConnectionParameters()) .insert() .execute(TABLE_NAME, columns(), dataFile); } catch (NotSupportedDataBaseException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } } private static void postgresSelectQuery() { try { // List> data = new PostgresSelectQuery(connectionParameters()).execute("ref000018_caaadm", Arrays.asList()); //System.out.println("***************** size " + data.size()); // System.out.println("" + data.get(0)); new PostgresSelectQuery(postgresConnectionParameters()).execute("users", columns(), TABLE_NAME, OUTPUT_DIR, true); } catch (Exception ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } } private static void postgresInsertQuery() { File dataFile = new File("C:\\Users\\ASUS\\Documents\\DATAS\\Export\\USERS20250127160445.txt"); try { new PostgresInsertQuery(postgresConnectionParameters()).execute(TABLE_NAME, columns(), data()); } catch (Exception ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } } private static List columns() { try { List cols = new ArrayList<>(); // cols.add(new DbColumnDescription("code_adnt", TypeDonnee.ALPHANUMERIQUE, 10, 1)); // cols.add(new DbColumnDescription("valeur", TypeDonnee.ALPHANUMERIQUE, 20, 2)); // cols.add(new DbColumnDescription("code_val", TypeDonnee.ALPHANUMERIQUE, 30, 3)); // cols.add(new DbColumnDescription("qua_ti_col", TypeDonnee.ALPHANUMERIQUE, 30, 4)); // cols.add(new DbColumnDescription("te_cpt_cons", TypeDonnee.ALPHANUMERIQUE, 50, 5)); cols.add(new DbColumnDescription("username", TypeDonnee.ALPHANUMERIQUE, 4, 1, null, null, 0)); cols.add(new DbColumnDescription("montant", TypeDonnee.NUMERIQUE, 10, 2, null, null, 0)); DbColumnDescription desc = new DbColumnDescription("dateaction", TypeDonnee.DATE, 10, 3, "yyyyMMdd", "-", 0); cols.add(desc); return cols; } catch (IllegalFormatDateException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); return null; } } private static List> data() { List> data = new ArrayList<>(); Map map = new HashMap<>(); map.put("username", "Samory"); map.put("montant", "000025"); map.put("dateaction", "2025-02-06"); data.add(map); return data; } }