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(); } } }
上記の例の最初のタイプのループは、キー文字「:」を使用しています。一般に、このタイプのループはコレクション (List
2 番目のタイプのループは通常のループです。これは Java で最も一般的な for ループです。
Java の 2 つの for ループを紹介するその他の関連記事については、PHP 中国語 Web サイトに注目してください。