Hibernate之Query接口的uniqueResult方法[通俗易懂]

发布时间:2025-12-09 13:46:35 浏览次数:4

如果查询返回多个值用list()方法

  1. publicvoidtestQuery(){
  2. Configurationconfig=newConfiguration().configure();
  3. SessionFactoryfactory=config.buildSessionFactory();//创建SessionFactory
  4. Sessionsession=factory.openSession();//创建Session
  5. session.beginTransaction();//开始事务
  6. Queryquery=session.createQuery(“fromStudent”);
  7. Listlist=query.list();//用list方法返回多个值
  8. //Listlist=session.createQuery(“fromStudent”).list();
  9. for(inti=0;i<list.size();i++){
  10. Studentstudent=(Student)list.get(i);
  11. System.out.print(student.getId()+”“);
  12. System.out.print(student.getName()+”“);
  13. System.out.print(student.getSex()+”“);
  14. System.out.print(student.getBirthday());
  15. System.out.println();
  16. }
  17. session.getTransaction().commit();//提交事务
  18. session.close();//关闭Session
  19. }

当确定返回的实例只有一个或者null时 用uniqueResult()方法

  1. publicvoidtestGet(){
  2. Configurationconfig=newConfiguration().configure();
  3. SessionFactoryfactory=config.buildSessionFactory();
  4. Sessionsession=factory.openSession();
  5. session.beginTransaction();
  6. Queryquery=session.createQuery(“fromStudentswheres.id=?”);
  7. query.setString(0,“2”);
  8. Studentstudent=(Student)query.uniqueResult();//当确定返回的实例只有一个或者null时用uniqueResult()方法
  9. //Studentstudent=(Student)session.createQuery(“fromStudentswheres.id=?”).setString(0,”5″).uniqueResult();
  10. System.out.println(student.getName());
  11. System.out.println(student.getBirthday());
  12. session.getTransaction().commit();
  13. session.close();
  14. }
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477