为什么我用HibernateTemplate方法返得不到查询结果?
public class RoomDaoImpl extends HibernateDaoSupport implements RoomDao{
public List findUnbookroom()throws Exception{
//String hql="from ROOMS where booked=?";
String hql="from ROOMS";
//return (List)getHibernateTemplate().find(hql,new Integer(0));
return (List)getHibernateTemplate().find(hql);
}
}
public class RoomserviceImpl implements Roomservice{
private RoomDao roomDao=new RoomDaoImpl();
public List findUnbookroom()throws Exception{
return roomDao.findUnbookroom();
}
}
下面是我的测试代码:
public class test2 extends TestCase {
public void test() throws Exception{
Roomservice roomservice=new RoomserviceImpl();
List unbookroomlist=roomservice.findUnbookroom();
Room room=(Room)unbookroomlist.get(0);
//Room room=roomservice.getSelectId(1);
//assertEquals(null,room);
int size=unbookroomlist.size();
//assertEquals("zhong",room.getType());
assertEquals(1,size);
}
}
测试出现红条:
java.lang.NullPointerException
at com.lingirl.RoomDaoImpl.findUnbookroom(RoomDaoImpl.java:21)
at com.lingirl.RoomserviceImpl.findUnbookroom(RoomserviceImpl.java:10)
at com.lingirl.test2.test(test2.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
不知道为什么返回不了查询结果,请问我写的代码有错误吗?
最好谁可以指教一下有关HIBERNATETEMPLATE的用法,谢谢了~~
分享到:
相关推荐
通过`HibernateTemplate`,开发者可以非常方便地进行数据的增删改查等基本操作,而无需关心Hibernate Session的开启、关闭及事务管理等问题。本文将详细介绍`HibernateTemplate`的一些常用方法及其应用场景。 #### ...
- **统一的异常处理**:使用HibernateTemplate可以避免出现由Session关闭不当导致的问题。 - **集成Spring框架**:与Spring框架高度集成,可以方便地管理事务。 - **易于测试**:由于使用了Spring的依赖注入,使得...
2. **事务管理**:通过`HibernateTemplate`可以方便地处理事务边界问题,实现细粒度的事务控制。 3. **批处理操作**:支持批量执行SQL语句,优化数据库访问性能。 4. **自定义查询**:支持HQL(Hibernate Query ...
### HibernateTemplate概述与核心功能详解 #### 一、引言 在Java开发领域,特别是企业级应用开发中,数据持久层的设计与实现至关重要。Hibernate作为一款优秀的对象关系映射(ORM)框架,极大地简化了Java应用程序...
HibernateTemplate 汇总 HibernateTemplate 是 Spring 框架中的一個关键组件,用于简化 Hibernate 的使用,提供了許多实用的方法来进行数据库操作。在本文中,我们将对 HibernateTemplate 的主要方法进行总结和解释...
而在使用`HibernateTemplate`时,这些操作都被自动管理,从而避免了因遗漏关闭`Session`而导致的资源泄露问题。 3. **异常处理**:当使用`HibernateTemplate`执行数据库操作时,它会自动捕获并处理Hibernate抛出的...
《轻量级 J2EE 企业应用实战: Struts+Spring+Hibernate 整合开发》一书中详述了Spring与Hibernate的整合,其中一个重要组件就是HibernateTemplate。它为简化Hibernate在Spring框架中的使用提供了便利,减少了手动...
HibernateTemplate的简单示例
### HibernateTemplate源代码解析 #### 一、简介 `HibernateTemplate`是Spring框架中的一个类,位于`org.springframework.orm.hibernate3`包下。它提供了一系列简化Hibernate数据访问操作的方法,并且能够自动将...
### HibernateTemplate 的方法使用 #### 一、简介与配置方式 **HibernateTemplate** 是 Spring 框架中用于简化 Hibernate 使用的一个工具类。它通过 AOP(面向切面编程)的思想,封装了大量的 CRUD(创建、读取、...
在实际开发中,批量删除操作可能会遇到各种异常情况,例如数据库连接问题、SQL语法错误等。因此,在调用`execute()`方法时,通常会捕获`HibernateException`和`SQLException`,并进行相应的错误处理。此外,为了...
hibernateTemplate常用方法.htm
本示例将深入探讨如何使用Spring将SessionFactory注入到HibernateTemplate中,从而实现数据库操作的便捷管理。 首先,让我们了解几个关键组件: 1. SessionFactory:这是Hibernate的核心工厂类,用于创建Session...
### HibernateTemplate 分组统计知识点详解 #### 一、概述 在Java Web开发中,尤其是在使用...这不仅有助于更好地理解和掌握Spring与Hibernate的集成方式,同时也为解决实际项目中的复杂数据处理问题提供了有效途径。
GenericHibernateDao 继承 HibernateDao,简单封装 HibernateTemplate 各项功能,简化基于Hibernate Dao 的编写。
### HibernateTemplate类的使用详解 #### 一、引言 在Java开发中,持久层框架Hibernate因其优秀的ORM(Object-Relational Mapping)特性被广泛应用。为了更便捷地使用Hibernate,Spring框架提供了一系列工具类来简化...
`HibernateTemplate`是Spring框架对Hibernate ORM(对象关系映射)的一种封装,它简化了与数据库交互的复杂性,而"基于HibernateTemplate的代码自动生成"正是为了进一步提升开发效率而设计的一种技术手段。...
为了解决这些问题,Spring框架提供了一个称为HibernateTemplate的类,它是对Hibernate API的一个封装,旨在提高开发效率和代码的可维护性。 **一、HibernateTemplate介绍** HibernateTemplate是Spring框架的一个...
而`HibernateTemplate`则可以更好地控制和管理Session,避免这个问题。 以下是`getSession`的一些常用操作: - 查询:`getSession().find()`, `getSession().createQuery()` - 保存:`getSession().save()`, `...