package 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封闭查询的测试类 * @author zhang * */ public class TestHouse { public static void main(String[] args) { //公共的成员变量 SessionFactory sf = null; Session session = 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); //HQL语句 StringBuffer sb = new StringBuffer(); sb.append("from House where "); sb.append("(title like :title) "); sb.append("and (type_id like :type_id) "); sb.append("and (street_id like :street_id) "); sb.append("and (price between :low_price and :high_price) "); sb.append("and (floorage between :small_floorage and :big_floorage)"); try { //开始执行查询 sf = new Configuration().configure().buildSessionFactory(); session = sf.openSession(); Query query = session.createQuery(sb.toString()); query.setProperties(qp); List<House> list = query.list(); //第一种用:的循环 /*for(House house:list){ 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("----------------------------------"); } } catch (HibernateException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ 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
Le deuxième type de boucle est une boucle ordinaire. C'est la boucle for la plus courante en Java.
Pour plus d'articles connexes présentant les deux boucles for en Java, veuillez faire attention au site Web PHP chinois !