1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
@Override
public List<Offre> rechercheRapide(String CHAMP_TYPE_OFFRE, String CHAMP_VILLE, String CHAMP_REGION, String CHAMP_SECTEUR,String typeOffre, String ville, String region, String secteur) throws DAOException
{
Map myMap=new java.util.LinkedHashMap ();
Map param=new java.util.LinkedHashMap ();
if(!typeOffre.equals("selects"))
{
myMap.put(CHAMP_TYPE_OFFRE, typeOffre);
param.put("typeOffre", "typeOffre");
}
if(!ville.equals("selects"))
{
myMap.put(CHAMP_VILLE, ville);
param.put("ville", "ville");
}
if(!region.equals("selects"))
{
myMap.put(CHAMP_REGION, region);
param.put("region", "region");
}
if(!secteur.equals("selects"))
{
myMap.put(CHAMP_SECTEUR, secteur);
param.put("secteur", "secteur");
}
String suite = "", list="";
if(typeOffre.equals("selects") && ville.equals("selects") && region.equals("selects") && secteur.equals("selects"))
{
suite = "type_offre = ? and ville = ? and region = ? and secteur = ? and";
list = "typeOffre,ville,region,secteur,";
}
else
{
suite = "";
list = "";
}
// Afficher le contenu du MAP
Set listKeys=myMap.keySet(); // Obtenir la liste des clés
Iterator iterateur=listKeys.iterator();
// Parcourir les clés et afficher les entrées de chaque clé;
String s="select * from Offre where "+suite;
while(iterateur.hasNext())
{
Object key= iterateur.next();
s=s+(String)key+" = ? and ";
}
String requete = s.substring(0, s.lastIndexOf("and"));
//Début de la 2e LinkedHashMap ********************************************************************
// Afficher le contenu du MAP
Set listParam=param.keySet(); // Obtenir la liste des clés
Iterator iterateurParam=listParam.iterator();
// Parcourir les clés et afficher les entrées de chaque clé;
while(iterateurParam.hasNext())
{
Object key2= iterateurParam.next();
list=list+(String)key2+",";
}
String requeteParam = list.substring(0, list.lastIndexOf(","));
//Fin de la 2e LinkedHashMap ***********************************************************************
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
List<Offre> offres = new ArrayList<Offre>();
try {
connection = daoFactory.getConnection();
preparedStatement = initialisationRequetePreparee( connection, requete, false, requeteParam );
resultSet = preparedStatement.executeQuery();
while ( resultSet.next() ) {
offres.add( map( resultSet ) );
}
} catch ( SQLException e ) {
System.out.println(requeteParam);
throw new DAOException( e );
} finally {
fermeturesSilencieuses( resultSet, preparedStatement, connection );
}
return offres;
} |