引言:
根据查询条件,如果只会返回唯一结果,使用uniqueResult()这个方法,否则就使用list();
uniqueResult()通常是在业务方法查询语句中用到的,比如根据主键ID查询。
当不确定时,用list()方法。
一、list()方法
使用场景:查询结果返回多个值
public class Demo{
@Test
public void function() {
//1.获得Hibernate Session对象
Session session = HibernateUtils.openSession();
//2.打开事务
Transaction tx = session.beginTransaction();
//*********************************************
//3. 执行操作
1 编写SQL语句
String sql = “select * from cst_customer”;
2 创建SQL查询对象
SQLQuery query = session.createSQLQuery(sql);
3 调用方法查询结果
List<Object[]> list = criteria.list();
for(Object[]objs : list) {
System.out.println(Arrays.toString(objs));
}
//**********************************************
//4. 提交事务
tx.commit();
//5.关闭资源
session.close();
}
}
二、uniqueResult()方法
使用场景:确定返回结的实例只有一个或者是null时
public class Demo{
@Test
public void function() {
//1.获得Hibernate Session对象
Session session = HibernateUtils.openSession();
//2.打开事务
Transaction tx = session.beginTransaction();
//*********************************************
//3. 执行操作
1 编写SQL语句
Stringsql = “select * from cst_customer c where c.id = 1”;
2 创建SQL查询对象
SQLQuery query = session.createSQLQuery(sql);
3 调用方法查询结果
Customer customer = (Customer)query.uniqueResult();
System.out.println(customer.getName());
//**********************************************
//4. 提交事务
tx.commit();
//5.关闭资源
session.close();
}
}