`

Hibernate之Query接口的uniqueResult()方法

 
阅读更多

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

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()方法

 

public void testGet(){
		Configuration config = new Configuration().configure();
		SessionFactory factory = config.buildSessionFactory();
		Session session = factory.openSession();
		session.beginTransaction();
		
		Query query = session.createQuery("from Student s where s.id=?");
		query.setString(0, "2");
		Student student = (Student)query.uniqueResult();  //当确定返回的实例只有一个或者null时 用uniqueResult()方法
		//Student student = (Student)session.createQuery("from Student s where s.id=?").setString(0,"5").uniqueResult();
		
		System.out.println(student.getName());
		System.out.println(student.getBirthday());
		
	
		session.getTransaction().commit();
		session.close();
	}

 

分享到:
评论

相关推荐

    Hibernate_query聚合函数查询.

    在Java的持久化框架Hibernate中,查询操作是其核心功能之一。本篇主要探讨的是Hibernate对数据库查询中聚合函数的应用,这些功能使我们能够高效地处理数据统计和汇总任务。在学习过程中,我们经常会遇到诸如求和...

    Hibernate SQLQuery执行原生SQL.docx

    在Hibernate中,我们通常通过Session接口的createSQLQuery方法来创建SQLQuery对象,例如: ```java Session session = sessionFactory.openSession(); String sql = "SELECT * FROM note WHERE id = ?"; SQLQuery ...

    HIBERNATE_QUERY

    ### HIBERNATE_QUERY知识点详解 #### 一、概述 Hibernate作为一款强大的对象关系映射(ORM)框架,为Java开发者提供了一套高效且简洁的方式来处理数据库操作。它支持多种查询方式,包括面向对象的查询语言(HQL)...

    Hibernate Tutorial 09 Hibernate Query Language

    # Hibernate Query Language (HQL): An Object-Oriented Variant of SQL ## 一、引言 Hibernate 是一款流行的 Java 持久层框架,它极大地简化了对象与关系数据库之间的映射过程。Hibernate Query Language(简称 ...

    Hibernate方法的实现

    Hibernate的核心接口之一是SessionFactory,它负责创建Session对象。SessionFactory是线程安全的,一般在应用启动时创建并保存在整个应用生命周期中。Session对象代表了一个数据库事务,它是与数据库交互的主要接口...

    hibernate执行原生sql语句

    Hibernate 提供了多种方式来执行原生 SQL 语句,其中之一是使用 `Session.createSQLQuery()` 方法,该方法返回一个 `SQLQuery` 对象,该对象提供了执行原生 SQL 语句的方法。 例如,我们可以使用以下代码来执行一个...

    Hibernate之API初识及增删改查实现案例hibernate003

    3. **Session接口**:Session是Hibernate的工作单元,相当于JDBC中的Connection,它提供了与数据库交互的方法,如开始和结束事务、保存、更新、删除对象等。在每次业务操作前后,都需要打开和关闭Session。 4. **...

    Hibernate+本地SQL查询SQLQuery宣贯.pdf

    总之,Hibernate的SQLQuery接口提供了一种灵活的方式来执行原生SQL查询,并将结果映射到Java对象。通过使用别名、结果集映射和命名SQL查询,开发者可以处理复杂的数据库交互,同时保持代码的清晰和整洁。

    hibernate将本地SQL查询结果封装成对象

    MyEntity result = (MyEntity) query.uniqueResult(); ``` 如果查询返回的是多个对象,可以使用`setResultTransformer()`配合`Transformers.aliasToBean()`将结果集转换为指定类型的对象列表: ```java query....

    Hibernate+本地SQL查询SQLQuery.pdf

    在Java的持久化框架Hibernate中,有时我们需要使用原生的SQL查询来实现特定的数据库操作,这时就需要利用到SQLQuery接口。本篇文章将详细解析如何使用Hibernate的SQLQuery来进行本地SQL查询,并探讨其各种应用场景。...

    Hibernate执行持久层访问步骤

    1. HQL查询:使用Session的createQuery()方法创建HQL(Hibernate Query Language)查询对象,然后设置参数,最后调用list()或uniqueResult()执行查询。 2. QBC查询:Query By Criteria API允许基于Java对象属性进行...

    java后台开发Hibernate例子--登录查询

    User user = query.uniqueResult(); if (user != null) { tx.commit(); return user; } else { tx.rollback(); return null; } } catch (Exception e) { if (tx != null) { tx.rollback(); } e....

    hibernate basedao(泛型版本)

    泛型是Java SE 5.0引入的新特性,它允许在类、接口和方法中使用类型参数,从而实现更强大的类型检查和减少类型转换的冗余。 1. 泛型BaseDAO:`GenericBaseDao.java`和`GenericBaseDaoInter.java` 泛型BaseDAO的主要...

    hibernate的查询方式介绍和hibernate的批处理和连接池配置hibernate

    - 可以通过 `Session.createQuery` 创建 `Query` 对象,然后调用 `list()` 或 `uniqueResult()` 等方法获取结果。 - 示例: ```java Query query = session.createQuery(hql); List[]&gt; results = query.list();...

    Hibernate的查询方式

    3. **执行查询并获取结果**:最后,通过Query对象的`list()`或`uniqueResult()`等方法执行查询并处理结果。 #### QBC查询方式:基于Criteria的查询 除了HQL,Hibernate还支持QBC查询方式,这是一种基于Criteria ...

    Hibernate生产SQL语句

    Hibernate的核心在于它的Query API,它提供了Criteria、HQL(Hibernate Query Language)和JPQL(Java Persistence Query Language)等方式来构建SQL语句。Hibernate会根据这些查询语句动态生成对应的SQL,并执行在...

    Hibernate调用配置文件中的sql语句

    3. **执行SQL查询**:在Java代码中,我们可以使用SessionFactory的createSQLQuery方法来获取SQLQuery对象,然后调用其setParameters方法设置参数,最后调用list或uniqueResult等方法来执行查询: ```java Session ...

    06_传智播客hibernate教程_完善HibernateUtil类及hql查询入门

    这里的 `setParameter()` 方法用于设置参数,`uniqueResult()` 方法用于获取唯一的查询结果。 总结来说,`HibernateUtil` 类的完善意味着优化数据库操作的便捷性,而 HQL 查询则提供了灵活且强大的对象查询能力。...

    Hibernate语句

    Criteria查询是Hibernate提供的另一种查询方式,相比HQL(Hibernate Query Language),它更加面向对象,允许动态构建查询。Criteria查询主要涉及以下组件: 1. `Session.createCriteria(Class clazz)`: 创建...

    hibernate增删改查

    查询是Hibernate最丰富的功能之一,支持HQL(Hibernate Query Language)和Criteria API等。 1. HQL:类似于SQL,但面向对象。例如,查找所有用户: ```java String hql = "from User"; List&lt;User&gt; users = session...

Global site tag (gtag.js) - Google Analytics