- 浏览: 115213 次
- 性别:
- 来自: 上海
文章分类
最新评论
1 ,void delete ( Object entity ) : 删除指定持久化实例
public void removePerson( int personid)
{
//先加载特定的实例
Object p = getHibernateTemplate().load( Person.class , new Integer( personid));
//删除特定实例
getHibernateTemplate().delete (p);
}
2 ,deleteAll ( Collection entities ) : 删除集合内全部持久化类实例
3 ,find ( String queryString ) : 根据HQL查询字符串来返回实例集合
Public List getPersons()
{
//返回Person的全部实例
return getHibernateTemplate().find ( " from Person " );
}
4 ,findByNamedQuery ( String queryName) : 根据命名查询返回实例集合
5 ,get ( Class entityClass , Serializable id ) : 根据主键加载特定持久化类的实例
public Person getPerson()
{
//返回特定主键对应的Person实例
return (Person)getHibernateTemplate().get (Person.class , new Integer(person id));
}
6 ,save ( Object entity ) : 保存新的实例
7 ,saveOrUpdate ( Object entity ): 根据实例状态,选择保存或者更新
8 ,update ( Object entity ) : 更新实例的状态,要求entity是持久状态
9 ,setMaxResults ( int maxResults ) : 设置分页的大小。
HibernateTemplate的 更灵活 的用法 :
更灵活的访问是通过以下两个方法完成的:
Object execute ( HibernateCallback action ) ;
List execute ( HibernateCallback action );
这两个方法都需要一个HibernateCallback的实例,可以在任何有效的hibernate数据访问中使用。用法灵活,解决了Spring封装Hibernate后灵活性不足的缺陷。 HibernateCallback 是一个接,该接口只有一个方doInHibernate ( org.hibernate.Session session ), 该方法只有一个参数Session.
{
// 私有实例变量保存SessionFactory
private SessionFactory sessionFactory;
// 依赖注入必需的setter 方法
public void setSessionFactory(SessionFactory sessionFactory)
{
this.sessionFactory = sessionFactory;
}
/** *//**
*通过人名查找所有匹配该名的Person 实例
* @param name 匹配的人名
* @return 匹配该任命的全部Person 集合
*/
public List findPersonsByName(final String name)
//创建HibernateTemplate实例
HibernateTemplate hibernateTemplate = new HibernateTemplate(this.sessionFactory);
//返回HibernateTemplate的execute 的结果
return (List) hibernateTemplate.execute (
//创建匿名内部类
new HibernateCallback ()
public Object doInHibernate (Session session)
throws Hibernate Exception
{
//使用条件查询的方法返回
List result = session.createCriteria(Person.class)
.add(Restrictions.like("name", name+ " %") .list ( ) ;
return result;
} ) :
}
}
注意:在方法doInHibernate内可以访问到Session,该session是完全绑定到当前线程的Session实例,保证在对于复杂的持久层访问时,依然可以使用Hibernate的访问方式。
发表评论
-
hibernate基础-初步
2009-11-03 15:26 626类拟框架:Apache OJB,JDO,Toplink,EJB ... -
hibernate基础-基本映谢标签和属性
2009-11-03 15:35 664hibernate基本映射 实体类------>表 实体 ... -
hibernate基础-映射关系(多对一I一对一)
2009-11-03 15:53 497多对一关联映射 many-to-one关联映射本质: * ... -
hibernate基础-映射关系(一对多I多对多).
2009-11-03 16:04 600一对多关联映射(one-to-many) 一对多关联映射利用了 ... -
hiberante基础-继承映射
2009-11-03 16:15 753继承映射的三种策略: * 单表继承,每棵类继承树使用一个表 ... -
hibernate基础-其他映射
2009-11-03 16:17 667set、list、array、map Collection: ... -
hibernate基础-自关联映射
2009-11-03 16:19 7521 class Node: private int id;pr ... -
hibernate基础-Component+[联合]映象
2009-11-03 16:22 508Component映射(值对象映射) 在hibernate中, ... -
hibernate基础-lazy策略
2009-11-03 16:33 790lazy策略可以使用在: * <class> ... -
hibernate基础-fetch抓取
2009-11-03 16:34 590抓取策略(单端代理的批量抓取) 1 保持默认,也就是fetch ... -
hibernate基础-Session_Flush
2009-11-03 16:37 695session flush测试: session ... -
hibernate基础-悲观[乐观]锁
2009-11-03 16:40 494悲观锁 悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据 ... -
hiberante基出-缓存
2009-11-03 16:49 501一级缓存 * 一级缓存是缓存实体对象的 * 如果管理一 ... -
hibernate基础-HQL
2009-11-03 17:14 538在hql中关键字不区分大小写,但是属性和类名区分大不写简单属性 ... -
[导入]Hibernate 深入研究之 Criteria
2009-11-03 17:35 566文章来源:http://www.cnblogs.com/ ... -
DetachedCriteria
2009-11-03 17:41 658org.hibernate.criterion.Detache ... -
Restrictions
2009-11-03 17:46 727HQL运算符 ... -
hibernate.cfg.xml
2009-11-03 17:56 613<?xml version="1.0&quo ... -
由映射文件生成表
2009-11-03 17:57 555import org.hibernate.cfg.Confi ... -
JNDI连接池
2009-11-29 21:19 724管理连接对象 Modle:biz,dao,entity 数据源 ...
相关推荐
总结,Hibernate-jar是Hibernate框架的基础,它包含了所有必要的库和API,使开发者能方便地在Java项目中使用Hibernate。理解并熟练运用Hibernate的核心概念和功能,可以极大地提高开发效率,降低数据库操作的复杂性...
《Spring与Hibernate整合:深入理解HibernateTemplate》 在Java企业级开发中,Spring框架和Hibernate持久层框架的结合使用是常见的技术选型。本篇将深入探讨Spring与Hibernate的集成,特别是Spring提供的...
Struts2-Hibernate-Spring是Java Web开发中的一个经典组合,它们共同构成了MVC(Model-View-Controller)架构模式的基础。这个项目很可能是用来管理学生班级信息的一个应用,通过Struts2处理用户请求,Hibernate进行...
在Spring和Hibernate的集成中,Spring可以通过HibernateTemplate或SessionFactoryBean等组件来管理Hibernate的会话和事务,使得事务控制更加灵活和高效。 JOTM是Java事务API(JTA)的一个开源实现,用于管理跨多个...
在Spring框架中,我们可以利用Spring的HibernateTemplate或SessionFactoryBean来配置和管理Hibernate,以实现数据持久化。 **MySQL 8.0** 是一个开源的关系型数据库管理系统,以其高性能、稳定性及易用性而闻名。...
- **编写DAO层**:使用Spring的HibernateTemplate或JdbcTemplate来操作数据库,实现增删查改的方法。 - **事务管理**:配置Spring的声明式事务管理,确保数据库操作的原子性和一致性。 5. **测试**: 创建JUnit...
在Spring框架中,`HibernateTemplate`作为ORM(Object Relational Mapping)技术中的一个重要组件,它提供了简化Hibernate操作的方法集,使得开发人员能够更加便捷地进行数据库操作。通过使用`HibernateTemplate`,...
首先,Spring整合Hibernate的基础是Spring的Data Access/Integration模块,它提供了对各种持久层技术的支持,包括Hibernate。整合的关键在于配置和数据源管理。在Spring的XML配置文件中,我们需要定义Hibernate的...
### Spring+Struts+Hibernate应用...以上知识点涵盖了Spring+Struts+Hibernate应用开发的各个方面,从基础的数据库操作和框架集成,到深入的整合策略和异常处理,为开发者提供了一整套开发SSH应用的理论和实践指南。
如果Spring与Hibernate进行了整合,则Hibernate便处于被Spring管理的状态下,Hibernate所需的基础资源,都由Spring以注入的方式提供。 由Spring接管的内容包括: Hibernate创建SessionFactory时需要的DataSource ...
`HibernateTemplate`是Spring框架提供的一个工具类,用于简化Hibernate的使用。它封装了许多常见的数据库操作,如增删改查等,同时支持分页查询以及命名查询等功能。使用`HibernateTemplate`可以减少大量模板代码的...
- **getSessionFactory**:此方法返回当前使用的`SessionFactory`实例,这是`HibernateTemplate`进行数据访问操作的基础。 - **configureSession**:此方法允许对Hibernate会话进行额外的配置,如设置flush模式等。...
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate"> ``` 然后,在你的业务逻辑类中,通过依赖注入获取HibernateTemplate,并进行数据库操作。 **步骤5:配置Web应用...
接下来,我们会在`applicationContext.xml`中配置数据源,这是Spring与Hibernate集成的基础。数据源(`dataSource`)通常使用Apache Commons DBCP库,因为它提供了连接池功能,能有效管理数据库连接,提高性能。配置...
- **创建DAO接口和实现**:设计DAO接口,然后用Hibernate的Session作为基础实现数据操作方法。 - **使用HibernateTemplate**:Spring提供了一个`HibernateTemplate`类,简化了对Session的操作,可以减少代码量和...
Spring的HibernateTemplate或JpaTemplate类为操作Hibernate提供了简单且线程安全的接口。此外,Spring还支持使用SessionFactoryBean配置Hibernate,使得事务管理变得更加便捷。 四、Spring MVC与Hibernate的Web开发...
打开IDEA,选择"New Project",然后在左侧列表中选择"Maven",勾选"Create from archetype",并搜索"Hibernate"相关的archetype,如"hibernate-quickstart-archetype",这将生成一个基础的Hibernate项目结构。...
5. **使用Spring管理Hibernate Session**:通过Spring的HibernateTemplate或JPA的EntityManager进行数据库操作。 这样的集成使得开发人员可以利用Spring的IoC(Inversion of Control)和AOP能力,以及Hibernate对...
总之,这个压缩包提供了整合Spring和Hibernate所需要的基础库,帮助开发者快速搭建能够处理复杂业务逻辑和数据库交互的企业级应用。正确理解和使用这些jar包,能够极大地提高开发效率和代码质量。
`HibernateTemplate`是Spring框架对Hibernate ORM(对象关系映射)的一种封装,它简化了与数据库交互的复杂性,而"基于HibernateTemplate的代码自动生成"正是为了进一步提升开发效率而设计的一种技术手段。...