package DAOImplJDBC; import interfaceDAO.ProjectDAO; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; import java.util.Vector; import javax.faces.model.SelectItem; import dto.Project; public class ProjectDAOImplJDBC implements ProjectDAO { Connection connection = null; protected Connection getConnected() { String url = "jdbc:mysql://localhost:3306/project_management"; String login = "root"; String password = "entrer"; try { // Etape 1 – Chargement du driver Class.forName("com.mysql.jdbc.Driver"); // Etape 2 – Connexion à la base connection = DriverManager.getConnection(url, login, password); }catch (Exception e) { System.out.println("Problème lors de la connection sur la base"+e.toString()); } return connection; } protected void releaseConnection() { try { connection.close(); } catch (SQLException e) { System.out.println("Problèmelors de la fermeture de la connection"); } } @Override public int addProject(Project p) { connection = getConnected(); int resultat = 0; try { Statement stmt = connection.createStatement(); resultat = stmt.executeUpdate ("insert into project values ('"+p.getId()+"','"+ p.getDescription()+"','"+ p.getDuree()+"','"+ p.getDateD()+"','"+ p.getCoutmax()+"')"); stmt.close(); } catch (SQLException e) { System.out.println(" Attention Exception lors de l'excéution de la requête : "+ e); } finally { releaseConnection(); } return resultat; } @Override public Project findProjectById(String id) { List l=this.getAllProjects(); for (Project x : l) { if(x.getId().equals(id)) return x; } return null; } @Override public List getAllProjects() { connection = getConnected(); List resultat = new Vector(); try { Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery("Select * from project"); while (rs.next()) { resultat.add( new Project(rs.getString(1), rs.getString(2),rs.getInt(3),rs.getString(4),rs.getDouble(5))); } rs.close(); stmt.close(); } catch (SQLException e) { System.out.println(" Attention Exception lors de l'excéution de la requête : "+ e); } finally { releaseConnection(); } return resultat; } public SelectItem[] getSelectItems(List entities, boolean selectOne) { int size = selectOne ? entities.size() + 1 : entities.size(); SelectItem[] items = new SelectItem[size]; int i = 0; if (selectOne) { items[0] = new SelectItem("", "---"); i++; } for (Project x : entities) { items[i++] = new SelectItem(x.getId(), x.getDescription()); } return items; } }