|
下面的程序是我刚刚学习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(); } } }
|
一共有 2 条评论