HQL查询

hibernate中的HQL语句查询,类似于SQL;

 1 public class SearchTest {
 2     public static void main(String[] args){
 3         Session session = null;
 4         Transaction transaction = null;
 5         try{
 6             session = HibUtil.getSession();
 7             transaction = session.beginTransaction();
 8             String hql = "from Studentinfo";
 9             Query q = session.createQuery(hql);
10             List<Studentinfo> list = q.list();
11             for(int i=0; i<list.size();i++){
12                 Studentinfo stu = list.get(i);
13                 System.out.println("Name: "+stu.getUsername());
14                 System.out.println("Phone:"+stu.getUserphone());
15             }
16             transaction.commit();
17         }catch (Exception e) {
18             e.printStackTrace();
19         }
20         
21         finally{
22             if(session != null ){
23                 session.close();
24             }
25         }
26     }
27 }    

其他查询方式:

 1         //单个对象
 2         String hql = "select count(*) from Studentinfo";
 3         Query q = session.createQuery(hql);
 4         Number n = (Number) q.uniqueResult();
 5         
 6         //Object[]数组 值得到需要的属性
 7         String hql = "select s.name,s.phone from Studentinfo s";
 8         List<Object[]> list = q.list();
 9         for(int i=0; i < list.size(); i++){
10             Object[] os = list.get(i);
11         }
12         
13         //实体对象
14         String hql = "select new Studentinfo(s.name,s.phone) from Student s";
15         //......
16         
17         //where子句参数传递
18         //String hql = "from Studentinfo where name = ?";
19         String hql = "from Studentinfo where name=:name";//参数名称动态绑定
20         Query q = session.createQuery(hql);
21         //q.setString(0,"smith");
22         q.setString("name", "smith");
23         
24         //SQL查询
25         String sql = "select * from studentinfo where name=:name";
26         SQLQuery q = session.createSQLQuery(sql);
27         //......
28         
View Code
原文地址:https://www.cnblogs.com/rememberme/p/hibernateHQL.html