Copiez le code comme suit :
paquet com.zxd.test ;
importer java.util.List ;
importer org.hibernate.HibernateException ;
importer org.hibernate.Query ;
importer org.hibernate.Session ;
importer org.hibernate.SessionFactory ;
importer org.hibernate.cfg.Configuration ;
importer com.zxd.bean.House ;
importer com.zxd.util.QueryProperty ;
/**
* Classe de test pour requête fermée HQL
* @auteur zhang
*
*/
classe publique TestHouse {
public static void main (String[] arguments) {
//Variables membres publiques
SessionFactory sf = nul ;
Session session = nulle ;
QueryProperty qp = new QueryProperty();
//Encapsuler les données de la requête
qp.setTitle("%好房%");
qp.setStreet_id("1002");
qp.setType_id("1004");
qp.setLow_price(20);
qp.setHigh_price(200);
qp.setSmall_floorage(50);
qp.setBig_floorage(180);
//Instruction HQL
StringBuffer sb = new StringBuffer();
sb.append("de la Maison où ");
sb.append("(titre comme :titre) ");
sb.append("et (type_id comme :type_id) ");
sb.append("et (street_id comme :street_id) ");
sb.append("et (prix entre :low_price et :high_price) ");
sb.append("et (plancher entre :small_floorage et :big_floorage)");
essayer {
// Commence à exécuter la requête
sf = new Configuration().configure().buildSessionFactory();
session = sf.openSession();
Requête de requête = session.createQuery(sb.toString());
query.setProperties(qp);
List<Maison> list = query.list();
//Le premier type utilise : boucle
/*pour(Maison maison:liste){
System.out.println("Le titre est : "+house.getTitle());
System.out.println("La zone est : "+house.getFloorage());
System.out.println("Le prix est : "+house.getPrice());
System.out.println("Le district est : "+house.getStreet().getDistrict().getName());
System.out.println("La rue est : "+house.getStreet().getName());
System.out.println("----------------------------------");
}*/
//Deuxième boucle
pour(int i = 0;i<list.size();i++){
System.out.println("Le titre est : "+list.get(i).getTitle());
System.out.println("La zone est : "+list.get(i).getFloorage());
System.out.println("Le prix est : "+list.get(i).getPrice());
System.out.println("Le district est : "+list.get(i).getStreet().getDistrict().getName());
System.out.println("La rue est : "+list.get(i).getStreet().getName());
System.out.println("----------------------------------");
}
} catch (HibernateException e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
}enfin{
session.close();
sf.close();
}
}
}
Le premier type de boucle dans l'exemple ci-dessus est quelque chose dont je ne me souvenais pas. Il utilise le caractère clé : : généralement, ce type de boucle est utilisé pour parcourir une collection (List<House>, Map).
Le deuxième type de boucle est une boucle ordinaire. Il s’agit de la boucle for la plus courante en Java.