Copie el código de código de la siguiente manera:
paquete com.zxd.test;
importar java.util.List;
importar org.hibernate.HibernateException;
importar org.hibernate.Query;
importar org.hibernate.Session;
importar org.hibernate.SessionFactory;
importar org.hibernate.cfg.Configuration;
importar com.zxd.bean.House;
importar com.zxd.util.QueryProperty;
/**
* Clase de prueba para consulta cerrada HQL
* @autor zhang
*
*/
Casa de pruebas de clase pública {
público estático vacío principal (String [] argumentos) {
//Variables miembro públicas
SessionFactory sf = nulo;
Sesión sesión = nula;
QueryProperty qp = nueva QueryProperty();
//Encapsula los datos de la consulta
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);
//declaración HQL
StringBuffer sb = nuevo StringBuffer();
sb.append("de la casa donde ");
sb.append("(título como: título) ");
sb.append("y (type_id como: type_id) ");
sb.append("y (street_id como: street_id) ");
sb.append("y (precio entre: precio_bajo y: precio_alto) ");
sb.append("y (piso entre :small_floorage y :big_floorage)");
intentar {
//Comenzamos a ejecutar la consulta
sf = nueva Configuración().configure().buildSessionFactory();
sesión = sf.openSession();
Consulta de consulta = session.createQuery(sb.toString());
consulta.setProperties(qp);
Lista<Casa> lista = consulta.lista();
//El primer tipo usa: loop
/*for(Casa casa:lista){
System.out.println("El título es: "+house.getTitle());
System.out.println("El área es: "+house.getFloorage());
System.out.println("El precio es: "+house.getPrice());
System.out.println("El distrito es: "+house.getStreet().getDistrict().getName());
System.out.println("La calle es: "+house.getStreet().getName());
System.out.println("----------------------------------");
}*/
//Segundo bucle
para(int i = 0;i<lista.tamaño();i++){
System.out.println("El título es: "+list.get(i).getTitle());
System.out.println("El área es: "+list.get(i).getFloorage());
System.out.println("El precio es: "+list.get(i).getPrice());
System.out.println("El distrito es: "+list.get(i).getStreet().getDistrict().getName());
System.out.println("La calle es: "+list.get(i).getStreet().getName());
System.out.println("----------------------------------");
}
} captura (HibernateException e) {
// TODO Bloque de captura generado automáticamente
e.printStackTrace();
}finalmente{
sesión.cerrar();
sf.cerrar();
}
}
}
El primer tipo de bucle en el ejemplo anterior es algo que no recordaba. Utiliza el carácter clave ":". Generalmente, este tipo de bucle se usa para recorrer una colección (Lista <Casa>, Mapa).
El segundo tipo de bucle es un bucle normal. Este es el bucle for más común en Java.