|
| 1 | +package org.example.DAO; |
| 2 | + |
| 3 | +import org.example.models.client; |
| 4 | +import java.sql.*; |
| 5 | +import java.util.ArrayList; |
| 6 | +import java.util.List; |
| 7 | + |
| 8 | +public class ClientDao { |
| 9 | + private Connection connect() throws SQLException { |
| 10 | + String url = "jdbc:postgresql://localhost:5432/cash"; |
| 11 | + String user = "postgres"; |
| 12 | + String password = "mario123"; |
| 13 | + return DriverManager.getConnection(url, user, password); |
| 14 | + } |
| 15 | + |
| 16 | + public List<client> listAllClients() throws SQLException { |
| 17 | + List<client> listClients = new ArrayList<>(); |
| 18 | + try (Connection conn = connect(); |
| 19 | + Statement stmt = conn.createStatement(); |
| 20 | + ResultSet rs = stmt.executeQuery("SELECT * FROM CLIENT")) { |
| 21 | + while (rs.next()) { |
| 22 | + String numtel = rs.getString("numtel"); |
| 23 | + String nom = rs.getString("nom"); |
| 24 | + String sexe = rs.getString("sexe"); |
| 25 | + String pays = rs.getString("pays"); |
| 26 | + int solde = rs.getInt("solde"); |
| 27 | + String mail = rs.getString("mail"); |
| 28 | + listClients.add(new client(numtel, nom, sexe, pays, solde, mail)); |
| 29 | + } |
| 30 | + } |
| 31 | + return listClients; |
| 32 | + } |
| 33 | + |
| 34 | + public void insertClient(client client) throws SQLException { |
| 35 | + try (Connection conn = connect(); |
| 36 | + PreparedStatement pstmt = conn.prepareStatement("INSERT INTO CLIENT (numtel, nom, sexe, pays, solde, mail) VALUES (?, ?, ?, ?, ?, ?)")) { |
| 37 | + pstmt.setString(1, client.getNumtel()); |
| 38 | + pstmt.setString(2, client.getNom()); |
| 39 | + pstmt.setString(3, client.getSexe()); |
| 40 | + pstmt.setString(4, client.getPays()); |
| 41 | + pstmt.setInt(5, client.getSolde()); |
| 42 | + pstmt.setString(6, client.getMail()); |
| 43 | + pstmt.executeUpdate(); |
| 44 | + } |
| 45 | + } |
| 46 | + |
| 47 | + public client getClient(String numtel) throws SQLException { |
| 48 | + client client = null; |
| 49 | + try (Connection conn = connect(); |
| 50 | + PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM CLIENT WHERE numtel = ?")) { |
| 51 | + pstmt.setString(1, numtel); |
| 52 | + ResultSet rs = pstmt.executeQuery(); |
| 53 | + if (rs.next()) { |
| 54 | + String nom = rs.getString("nom"); |
| 55 | + String sexe = rs.getString("sexe"); |
| 56 | + String pays = rs.getString("pays"); |
| 57 | + int solde = rs.getInt("solde"); |
| 58 | + String mail = rs.getString("mail"); |
| 59 | + client = new client(numtel, nom, sexe, pays, solde, mail); |
| 60 | + } |
| 61 | + } |
| 62 | + return client; |
| 63 | + } |
| 64 | + |
| 65 | + public void updateClient(client client) throws SQLException { |
| 66 | + try (Connection conn = connect(); |
| 67 | + PreparedStatement pstmt = conn.prepareStatement("UPDATE CLIENT SET nom = ?, sexe = ?, pays = ?, solde = ?, mail = ? WHERE numtel = ?")) { |
| 68 | + pstmt.setString(1, client.getNom()); |
| 69 | + pstmt.setString(2, client.getSexe()); |
| 70 | + pstmt.setString(3, client.getPays()); |
| 71 | + pstmt.setInt(4, client.getSolde()); |
| 72 | + pstmt.setString(5, client.getMail()); |
| 73 | + pstmt.setString(6, client.getNumtel()); |
| 74 | + pstmt.executeUpdate(); |
| 75 | + } |
| 76 | + } |
| 77 | + |
| 78 | + public void deleteClient(String numtel) throws SQLException { |
| 79 | + try (Connection conn = connect(); |
| 80 | + PreparedStatement pstmt = conn.prepareStatement("DELETE FROM CLIENT WHERE numtel = ?")) { |
| 81 | + pstmt.setString(1, numtel); |
| 82 | + pstmt.executeUpdate(); |
| 83 | + } |
| 84 | + } |
| 85 | +} |
0 commit comments