Copy kode kodenya sebagai berikut:
paket com.zxd.test;
impor java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Sesi;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Konfigurasi;
impor com.zxd.bean.House;
impor com.zxd.util.QueryProperty;
/**
* Kelas uji untuk kueri tertutup HQL
* @penulis zhang
*
*/
Kelas publik TestHouse {
public static void main(String[] args) {
//Variabel anggota publik
SessionFactory sf = null;
Sesi sesi = null;
QueryProperty qp = QueryProperty baru();
//Enkapsulasi data kueri
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);
//pernyataan HQL
StringBuffer sb = StringBuffer baru();
sb.append("dari Rumah dimana ");
sb.append("(judul seperti :judul) ");
sb.append("dan (type_id like :type_id) ");
sb.append("dan (street_id seperti :street_id) ");
sb.append("dan (harga antara :harga_rendah dan :harga_tinggi) ");
sb.append("dan (rata lantai antara :lantai_kecil dan :lantai_besar)");
mencoba {
//Mulai mengeksekusi query
sf = Konfigurasi baru().configure().buildSessionFactory();
sesi = sf.openSession();
Kueri kueri = session.createQuery(sb.toString());
query.setProperties(qp);
Daftar<Rumah> daftar = query.list();
//Tipe pertama menggunakan: loop
/*for(Rumah rumah:daftar){
System.out.println("Judulnya adalah: "+house.getTitle());
System.out.println("Areanya adalah: "+house.getFloorage());
System.out.println("Harganya adalah: "+rumah.getPrice());
System.out.println("Distrik adalah: "+house.getStreet().getDistrict().getName());
System.out.println("Jalannya adalah: "+house.getStreet().getName());
System.out.println("----------------------------------");
}*/
//Perulangan kedua
untuk(int i = 0;i<daftar.ukuran();i++){
System.out.println("Judulnya adalah: "+list.get(i).getTitle());
System.out.println("Areanya adalah: "+list.get(i).getFloorage());
System.out.println("Harganya adalah: "+list.get(i).getPrice());
System.out.println("Distrik adalah: "+list.get(i).getStreet().getDistrict().getName());
System.out.println("Jalannya adalah: "+list.get(i).getStreet().getName());
System.out.println("----------------------------------");
}
} tangkapan (HibernateException e) {
// TODO Blok tangkapan yang dibuat secara otomatis
e.printStackTrace();
}Akhirnya{
sesi.close();
sf.close();
}
}
}
Jenis loop pertama dalam contoh di atas adalah sesuatu yang saya tidak ingat, menggunakan karakter kunci ":". Umumnya, jenis loop ini digunakan untuk melintasi koleksi (List<House>, Map).
Jenis perulangan yang kedua adalah perulangan biasa. Ini adalah perulangan for yang paling umum di Java.