日志文章

2007年01月20日 16:11:39

Hibernate中简单查询操作

      下面的程序是我刚刚学习Hibernate所练习的简单查找。程序有二个类组成,第一个类是调用查找方法的。在第二个类中定义了四个查找方法。其中用到的TUser是我由数据库的表应映射的POJO类,而TUserDAO是由该表生成的一个dao.

      Select 类中的selectOne方法是用到了session中的get方法,通过get方法中的参数输入id(主键),来确定一条记录,再把这条记录放到TUser类的实例中,再把查询到的结果显示出来。

      Select 类中的selectTwo方法和selectThree方法是用到了session中的createQuery方法,通过createQuery方法的参数传一个HQL语句,把符合条件的结果放到一个List(链表)或Iterator(迭代器)中,再遍历这个List或Iterator就可以把查询到的结果显示出来。

Select 类中的selectFour方法用到了org.hibernate.Criteria类,通过这个类中的条件组和把符合条件的结果放到List中,再遍历这个List就可以把查询到的结果显示出来。

 

  

------------------------------------------------------------------------------------------------------

package lx;
import java.util.Iterator;
import java.util.List;

import org.hibernate.Criteria;
import tt.TUser;
import tt.TUserDAO;

public class Select {

 public static void main(String[] args) {
  //Select.selectOne(19);
  //Select.selectTwo();
  //Select.selectThree();
  Select.selectFour();

 }
 public static void selectOne(int id)
 {
  TUserDAO dao=new TUserDAO();
  TUser user=(TUser)dao.getSession().get(TUser.class, id);
  System.out.println(user.getIId());
  System.out.println(user.getCName());
  System.out.println(user.getCGrade());
  dao.getSession().close();
  
 }
 public static void selectTwo()
 {
  TUserDAO dao=new TUserDAO();
  TUser user;
  java.util.List list= dao.getSession().createQuery("from TUser").list();
  //List list=(List)dao.getSession().createQuery("from TUser").list();
 
  for(int i=0;i<list.size();i++)
  {
   user=(TUser)list.get(i);
   System.out.println(user.getIId());
   System.out.println(user.getCName());
   System.out.println(user.getCGrade());
   
  }
  dao.getSession().close();
 }
 public static void selectThree()
 {
  TUserDAO dao=new TUserDAO();
  //这个方法中,HQL语句必须在select指明每个要查询的字段
  java.util.List list= dao.getSession().createQuery("select IId,CName,CPassword,CGrade from TUser").list();
  Iterator it=list.iterator();
  while(it.hasNext())
  {
   Object[] rest=(Object[])it.next();
   for(int i=0;i<rest.length;i++)
   {
    System.out.println(rest);
   }
  }
  dao.getSession().close();
 }
    public static void selectFour()
    {
     TUserDAO dao=new TUserDAO();
     Criteria cr=dao.getSession().createCriteria(TUser.class);
     List list=cr.list();
     for(int i=0;i<list.size();i++)
     {
      TUser user=(TUser)list.get(i);
      System.out.print(user.getIId());
      System.out.print(user.getCName());
      System.out.print(user.getCGrade());
      System.out.println();
     }
    }
}

Tags: Hibernate   查询  

类别: 无分类 |  评论(2) |  浏览(3915) |  收藏
一共有 2 条评论
2楼 有心就有翼 2007年01月20日 18:00:14 Says:
对我来说有点超前了.呵呵
1楼 孙健 2007年01月20日 17:50:09 Says:
好东西!对我有价值..呵呵...加油!
发表评论