hibernate uniqueResult方法

假设查询返回多个值用list()方法

[java] view plaincopyprint?

  1. public void testQuery(){
  2. Configuration config = new Configuration().configure();
  3. SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory
  4. Session session = factory.openSession();        //创建Session
  5. session.beginTransaction();                     //開始事务
  6. Query query = session.createQuery("from Student");
  7. List list = query.list();  // 用list方法返回多个值
  8. //List list = session.createQuery("from Student").list();
  9. for(int i=0;i<list.size();i++){
  10. Student student = (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. }
public void testQuery(){
		Configuration config = new Configuration().configure();
		SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory
		Session session = factory.openSession();        //创建Session
		session.beginTransaction();                     //開始事务

		Query query = session.createQuery("from Student");
		List list = query.list();  // 用list方法返回多个值
		//List list = session.createQuery("from Student").list();
		for(int i=0;i<list.size();i++){
			Student student = (Student)list.get(i);
			System.out.print(student.getId()+" ");
			System.out.print(student.getName()+" ");
			System.out.print(student.getSex()+" ");
			System.out.print(student.getBirthday());
			System.out.println();
		}		

		session.getTransaction().commit();         //提交事务
		session.close();                           //关闭Session
	}

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

[java] view plaincopyprint?

  1. public void testGet(){
  2. Configuration config = new Configuration().configure();
  3. SessionFactory factory = config.buildSessionFactory();
  4. Session session = factory.openSession();
  5. session.beginTransaction();
  6. Query query = session.createQuery("from Student s where s.id=?");
  7. query.setString(0, "2");
  8. Student student = (Student)query.uniqueResult();  //当确定返回的实例仅仅有一个或者null时 用uniqueResult()方法
  9. //Student student = (Student)session.createQuery("from Student s where s.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. }
时间: 2024-11-05 14:52:37

hibernate uniqueResult方法的相关文章

Hibernate uniqueResult方法的使用

以前写代码,总免不了编写登陆部分.在获取user的时候,只可能返回一个user实例,或者为null.以前使用以下方法实现.public User get(String id){      Session session=HibernateUtil.getSessionFactory().openSession();      String hql="from User u where u.id = ?";      List list=session.createQuery(hql).

Hibernate之Query接口的uniqueResult()方法

如果查询返回多个值用list()方法 public void testQuery(){ Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory Session session = factory.openSession();        //创建Session session.beginTra

DetachedCriteria类中uniqueResult()方法与list()方法区别

DetachedCriteria criteria = new RecruitmentCriteria().createForDealer(dealerId, jobTitleId) .dateFilterForSM(year, month) .candidateFilterForSM(candidateId) .finalAssessmentResultPassed().build(); Integer count = (Integer) criteria.getExecutableCrite

Springmvc+Spring+Hibernate搭建方法及实例

Springmvc+Spring+Hibernate搭建方法及实例

【JavaEE】Springmvc+Spring+Hibernate搭建方法及example

前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码结构. Hibernate和前面两个比就比较复杂了,Hibernate是一个orm的框架,也就是负责面向对象中的对象(Object)和关系型数据库这个关系(Relation)之间的映射(Mapping).因为关系型数据库的思维方式,和编程的时候对于对象的理解是有偏差的,所以也有一些面向对象的数据库,但是随着这些orm框架的完善,面向对象的数据库就销声匿迹了. 当然,我这篇文章

Hibernate注解方法使用总结

1.类级别注解 @Entity     映射实体类 @Table    映射数句库表 @Entity(name="tableName") - 必须,注解 将一个类声明为一个实体bean. 属性: name - 可选,对应数据库中的一个表.若表名与实体类名相同,则可以省略. @Table(name="",catalog="",schema="")  - 可选,通常和@Entity 配合使用,只能标注在实  体的 class 定义

hibernate saveOrUpdate()方法执行数据库操作不成功

saveOrUpdate()方法执行数据库操作不成功:这个问题是你的hibernate.xml文件中的事物配置不正确.导致更新的数据是瞬时状态,没有与Session关联. 具体的配置如下: <!-- 配置事务管理器 --><bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <proper

手动配置Hibernate的方法

前言:一直习惯用MyEclipse自动生成Hibernate,但是对手动配置一直不甚了解,都不好意思说自己是搞java的.所以赶紧复习了一下手动配置,并记录在此,以便常回来看看! 第一步:搭建环境 在Hibernate主页下载hibernate-distribution-3.3.2.GA-dist.zip(这个很难找,一定要耐心!),解压后把根目录的hibernate3.jar和required文件夹里的所有的包.数据库驱动JAR,复制到WEB-INFO的lib里. 然后在项目里build-pa

SPRING+JPA+Hibernate配置方法

1.applicationContext.xml 1 <?xml version="1.0"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org