public class BasicDAOImpl extends HibernateDaoSupport implements BasicDAO{
public List findByHql(String hql)throws DataAccessException{
System.out.println("1111111111111"+getHibernateTemplate());
List list = new ArrayList();
list = getHibernateTemplate().find(hql);
return list;
}
public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
BasicDAO dao= (BasicDAO )context.getBean("basicDAO");
BasicDAO dao= new BasicDAO();
List list = dao.findByHql("");
System.out.println("ffffffffffffffff"+list.size());
}
}
说明:如果红色部分注释掉改用绿色部分的话,则getHibernateTemplate()为空,原因:
(1)HibernateDaoSupport 需要注入SessionFactory对象
(2)new 一个新对象,并没有注入SessionFactory对象,因此你应该从spring容器中去获取对象
分享到:
相关推荐
本文将详细介绍如何利用`getHibernateTemplate()`方法结合Spring框架进行分页查询和模糊查询。 #### 二、关键概念解释 1. **Hibernate**: 是一个开放源代码的对象关系映射(ORM)框架,它提供了从Java类到数据库表...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
### Spring使用技巧详解 #### 一、在SSH框架中通过DAO执行SQL SSH框架是指Spring、Struts2和Hibernate这三种技术的组合使用,而本文档主要关注的是如何在这样的框架下利用DAO(Data Access Object)层来执行SQL...
return this.getHibernateTemplate().loadAll(Article.class); } } ``` #### 四、Spring配置 - **Spring配置文件**: - Bean自动装配: ```xml <!-- 配置 ArticleDaoImpl --> <!-- 设置SessionFactory --...
在Java企业级应用开发中,经常需要处理大量数据的展示和查询问题。为了提高用户体验并优化服务器资源利用,分页查询是一种非常实用的技术手段。本文将详细介绍如何在Hibernate与Spring框架集成的环境下实现分页功能...
get() 方法一定要获取到真实的数据,否则返回 null。 5. Spring 事务 Spring 事务是指在 Spring 框架中对事务的支持。Spring 事务有多种方式,包括: * 声明事务 * 编程事务 Spring 事务的隔离级别包括: * ...
Struts+Spring+Hibernate实现上传下载 本文将围绕SSH文件上传下载的主题,向您详细讲述如何开发基于SSH的Web程序。SSH各框架的均为当前最新版本: •Struts 1.2 •Spring 1.2.5 •Hibernate 3.0 本文...
return (PageSupport) getHibernateTemplate().execute( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria criteria = cq....
3. `List find(String queryString)`: 通过HQL(Hibernate Query Language)查询语句返回实例集合。 4. `List findByNamedQuery(String queryName)`: 使用预先定义好的命名查询来获取结果集。 5. `Object get...
if (hibernateTemplate == null) { hibernateTemplate = new HibernateTemplate(sessionFactory); } return hibernateTemplate; } public List<Person> getPersons() { return getHibernateTemplate().find...
其中,`HibernateTemplate`作为Spring框架中的一个重要组件,为开发者提供了丰富的API来处理数据库操作,使得开发人员能够更加专注于业务逻辑的编写,而不是繁琐的数据访问细节。 #### 二、HibernateTemplate简介 ...
- **统一的异常处理**:使用HibernateTemplate可以避免出现由Session关闭不当导致的问题。 - **集成Spring框架**:与Spring框架高度集成,可以方便地管理事务。 - **易于测试**:由于使用了Spring的依赖注入,使得...
`load()`默认抛出`ObjectNotFoundException`异常,当实体不存在时,而`get()`方法则返回`null`。此外,`load()`仅在真正需要时才发出SQL查询,这称为懒加载,而`get()`方法则立即加载实体。 **7. Hibernate的缓存...
this.getHibernateTemplate().save(entity); } @Resource(name="sessionFactory") //注入sessionFactory public void setSessionFactoryDI(SessionFactory sessionFactory) { ...
- **get()**:立即加载实体,如果实体不存在则返回`null`。 #### 7. Hibernate中lazy loading的概念及openSessionInView模式 - **知识点概述**:Lazy Loading是一种延迟加载策略,而OpenSessionInView模式则是在...
CtxUtil.getBaseManager().getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { // 保存stu1 Student stu1 = ...
return null; } }); } } ``` - **HibernateDaoSupport**示例:`HibernateDaoSupport`同样支持编程式事务管理,但通常情况下会使用Hibernate自带的事务管理机制。 ```java public class TestA extends ...
### Struts2购物车系统分析 #### 一、系统概述 在本案例中,我们探讨一个基于...在实际应用中,还需要考虑更多的细节问题,如登录验证、购物车数量控制、支付流程等。但对于初学者而言,这是一个很好的学习起点。
这在分层架构(如Spring框架)中非常有用,因为它可以在配置文件中预先定义查询标准,而不需要直接与Hibernate Session交互。 ```java DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Cat.class) ...
在进行项目开发时,使用Spring与Hibernate作为主要的技术栈,对于数据访问层的设计尤为重要。其中,Criteria API作为Hibernate提供的一个强大的查询工具,为开发者提供了灵活且易于使用的接口来构建复杂的查询逻辑。...