انسخ رمز الكود كما يلي:
الحزمة com.zxd.test؛
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.zxd.bean.House;
import com.zxd.util.QueryProperty;
/**
* فئة اختبار لاستعلام HQL المغلق
* @ المؤلف تشانغ
*
*/
الطبقة العامة TestHouse {
public static void main(String[] args) {
// متغيرات الأعضاء العامة
SessionFactory sf = null;
جلسة الجلسة = فارغة؛
QueryProperty qp = new QueryProperty();
// قم بتغليف بيانات الاستعلام
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);
//بيان جودة عالية
StringBuffer sb = new StringBuffer();
sb.append("من المنزل حيث");
sb.append("(عنوان مثل :title)");
sb.append("و (type_id مثل :type_id)");
sb.append("و (street_id مثل :street_id)");
sb.append("و (السعر بين:low_price و:high_price)");
sb.append("و (الأرضية بين :small_floorage و :big_floorage)");
يحاول {
// ابدأ في تنفيذ الاستعلام
sf = تكوين جديد().configure().buildSessionFactory();
جلسة = sf.openSession();
استعلام الاستعلام = session.createQuery(sb.toString());
query.setProperties(qp);
List<House> list = query.list();
// يستخدم النوع الأول: حلقة
/*for(بيت البيت:قائمة){
System.out.println("العنوان هو:"+house.getTitle());
System.out.println("المنطقة هي:"+house.getFloorage());
System.out.println("السعر هو:"+house.getPrice());
System.out.println("المنطقة هي:"+house.getStreet().getDistrict().getName());
System.out.println("الشارع هو:"+house.getStreet().getName());
System.out.println("----------------------------------");
}*/
// الحلقة الثانية
for(int i = 0;i<list.size();i++){
System.out.println("العنوان هو:"+list.get(i).getTitle());
System.out.println("المنطقة هي:"+list.get(i).getFloorage());
System.out.println("السعر هو:"+list.get(i).getPrice());
System.out.println("المنطقة هي:"+list.get(i).getStreet().getDistrict().getName());
System.out.println("الشارع هو:"+list.get(i).getStreet().getName());
System.out.println("----------------------------------");
}
} قبض على (HibernateException e) {
// TODO كتلة الالتقاط التي تم إنشاؤها تلقائيًا
printStackTrace();
}أخيراً{
جلسة. إغلاق ()؛
sf. Close();
}
}
}
النوع الأول من الحلقات في المثال أعلاه هو شيء لم أتذكره. ويستخدم الحرف الرئيسي ". بشكل عام، يتم استخدام هذا النوع من الحلقات لاجتياز مجموعة (قائمة<منزل>، خريطة ملائمة)."
النوع الثاني من الحلقات هو حلقة عادية وهذه هي حلقة for الأكثر شيوعًا في Java.