- 浏览: 104673 次
- 性别:
- 来自: 北京
-
最新评论
HibernateTemplate的常规用法【转】
HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。下面是HibernateTemplate的常用方法简介:
void delete(Object entity):删除指定持久化实例
deleteAll(Collection entities):删除集合内全部持久化类实例
find(String queryString):根据HQL查询字符串来返回实例集合
findByNamedQuery(String queryName):根据命名查询返回实例集合
get(Class entityClass, Serializable id):根据主键加载特定持久化类的实例
save(Object entity):保存新的实例
saveOrUpdate(Object entity):根据实例状态,选择保存或者更新
update(Object entity):更新实例的状态,要求entity是持久状态
setMaxResults(int maxResults):设置分页的大小
下面是一个完整DAO类的源代码:
HibernateTemplate提供非常多的常用方法来完成基本的操作,比如通常的增加、删除、修改、查询等操作,Spring 2.0更增加对命名SQL查询的支持,也增加对分页的支持。大部分情况下,使用Hibernate的常规用法,就可完成大多数DAO对象的CRUD操作。下面是HibernateTemplate的常用方法简介:
void delete(Object entity):删除指定持久化实例
deleteAll(Collection entities):删除集合内全部持久化类实例
find(String queryString):根据HQL查询字符串来返回实例集合
findByNamedQuery(String queryName):根据命名查询返回实例集合
get(Class entityClass, Serializable id):根据主键加载特定持久化类的实例
save(Object entity):保存新的实例
saveOrUpdate(Object entity):根据实例状态,选择保存或者更新
update(Object entity):更新实例的状态,要求entity是持久状态
setMaxResults(int maxResults):设置分页的大小
下面是一个完整DAO类的源代码:
public class PersonDAOHibernate implements PersonDAO { //采用log4j来完成调试时的日志功能 private static Log log = LogFactory.getLog(NewsDAOHibernate.class); //以私有的成员变量来保存SessionFactory。 private SessionFactory sessionFactory; //以私有变量的方式保存HibernateTemplate private HibernateTemplate hibernateTemplate = null; //设值注入SessionFactory必需的setter方法 public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } //初始化本DAO所需的HibernateTemplate public HIbernateTemplate getHibernateTemplate() { //首先,检查原来的hibernateTemplate实例是否还存在 if ( hibernateTemplate == null) { //如果不存在,新建一个HibernateTemplate实例 hibernateTemplate = new HibernateTemplate(sessionFactory); } return hibernateTemplate; } //返回全部的人的实例 public List getPersons() { //通过HibernateTemplate的find方法返回Person的全部实例 return getHibernateTemplate().find("from Person"); } /** * 根据主键返回特定实例 * @ return 特定主键对应的Person实例 * @ param 主键值 public News getNews(int personid) { return (Person)getHibernateTemplate().get(Person.class, new Integer(personid)); } /** * @ person 需要保存的Person实例 */ public void savePerson(Person person) { getHibernateTemplate().saveOrUpdate(person); } /** * @ param personid 需要删除Person实例的主键 * / public void removePerson(int personid) { //先加载特定实例 Object p = getHibernateTemplate().load(Person.class, new Integer(personid)); //删除特定实例 getHibernateTemplate().delete(p); } }
发表评论
-
贫血 富血 SpringRoo 摘录 【不要看 会失望】
2011-04-18 09:49 816Domain-DrivenDesign 富血 Domain ... -
多服务器 之间的session共享问题
2011-01-10 10:24 1184http://www.5d6d.com/wowo/viewsp ... -
jquery.validate.js简介 记录
2011-01-04 14:27 707jquery.validate.js简介 ... -
统计自定义新鲜事的展现量
2010-12-15 16:50 0首先 一个问题 怎么统计 方法是 每次展现新鲜事的时候 ... -
js 小记一个
2010-11-09 14:42 708多少接触了点js jsp html 发现有时候会出现这样的写法 ... -
HTML5 特效demo
2010-08-30 18:00 932http://www.iteye.com/news/17499 ... -
PV LAMP 概念
2010-08-11 09:42 912比较2逼 小白 大白 什么都不懂 特此记录一下 LAMP ... -
Session 与 cookie
2010-08-04 19:39 701本部分详细内容 实例代 ... -
Cookies
2010-08-04 16:33 1083昨天的面试中被问到了Cookies的内容 于是有了以下 ... -
Nginx
2010-08-04 13:35 588Nginx ("engine x") 是 ... -
如何查看HTTP报文头
2010-08-04 13:10 4717今天在学习http协议的时候 跟着sunxin 他用telne ... -
RESTful
2010-08-04 10:06 1134在renren 开发者上看到的 REST这样的一个概念 查了一 ... -
struts2 里面 action接收参数的三种方式 (转)
2010-07-26 15:51 1149Java代码 struts2 Action获取表单传值 ... -
Spring AOP相关概念
2010-07-21 21:01 611http://www.iteye.com/topic/3989 ... -
hibernate 仿真
2010-07-10 15:14 707刚看了 马士兵hibernate 仿真的录像 大致了解了 hi ... -
struts2.1.6 No tag "datetimepicker" defined解决方法
2010-07-02 09:09 817http://joyhaizi.blog.163.com/bl ...
相关推荐
理解并掌握其核心概念、配置方法以及整合框架的使用,将有助于提升项目的开发效率和代码质量。同时,了解并运用JAR包中的各个组件,可以更好地发挥Hibernate的潜能,为项目带来更高的灵活性和可维护性。
4. 使用Spring的HibernateTemplate或JPA的EntityManager进行数据库操作,这样可以在事务管理下安全地执行CRUD操作。 Spring还提供了`LocalSessionFactoryBean`,它可以自动读取Hibernate配置文件并创建...
Hibernate可以很好地与Spring框架集成,通过Spring的`HibernateTemplate`或`SessionFactoryBean`简化事务管理和资源管理。 9. 性能优化: - 缓存策略:Hibernate提供了第一级缓存(Session级别的缓存)和第二级...
6. 整合Spring:若项目使用Spring框架,可以通过HibernateTemplate或SessionFactoryBean整合Hibernate,实现更简洁的数据库操作。 总结,Hibernate-jar是Hibernate框架的基础,它包含了所有必要的库和API,使开发者...
本示例"spring-hibernate-example1"是结合Spring框架与Hibernate ORM(对象关系映射)工具的一个典型应用,旨在演示如何在MySQL数据库环境下进行数据操作。接下来,我们将深入探讨这两个框架以及它们在实际项目中的...
这篇文档旨在提供对Hibernate API的深入理解,帮助开发者更高效地使用Hibernate进行数据库操作。 一、Hibernate概述 Hibernate是Java开发中广泛使用的ORM框架,它提供了一种在Java应用中持久化数据到关系数据库的...
- 创建HibernateTemplate实例:使用SessionFactory创建HibernateTemplate,通常通过`setSessionFactory()`方法注入SessionFactory。 - 编写业务逻辑:调用HibernateTemplate提供的方法,如`save()`, `update()`, `...
Struts2-Hibernate-Spring是Java Web开发中的一个经典组合,它们共同构成了MVC(Model-View-Controller)架构模式的基础。这个项目很可能是用来管理学生班级信息的一个应用,通过Struts2处理用户请求,Hibernate进行...
开发者只需调用预定义的方法,即可完成数据操作,降低了学习和使用Hibernate的门槛。 **Spring与Hibernate的整合** Spring通过HibernateTemplate提供了一种便捷的方式,将Hibernate的数据库操作纳入到Spring的管理...
标题“spring-hibernate-jotm 例子”涉及的是一个整合Spring框架、Hibernate持久化框架以及JOTM(Java Open Transaction Manager)事务管理器的示例项目。这个项目旨在展示如何在Java应用程序中有效地管理和协调...
5. **Hibernate的映射机制**:探索Hibernate如何通过ORM将Java对象与数据库表关联,包括Entity、Mapping文件和注解的使用。 6. **整合与协同**:了解Struts2如何与Spring进行集成,如Action的依赖注入;以及Spring...
- 使用Spring的HibernateTemplate或HibernateDaoSupport类进行数据库操作。 - 配置SessionFactory并在Spring中管理事务。 - 将Hibernate的SessionFactory注入到需要的地方,实现DAO层的解耦。 接下来的"-> ...
本节将深入探讨HibernateTemplate的常规用法。 HibernateTemplate提供了丰富的API,可以实现对数据库的基本操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)等。以下是一些常用的方法: 1...
这个压缩包文件 "struts-2.5.1-spring-4.2.7-hibernate-5.0.9" 提供了一个整合这三个框架的示例项目,方便开发者直接使用或学习如何将它们集成在一起。 Struts 2 是一个基于 Model-View-Controller (MVC) 架构的...
通过结合Spring框架,可以实现更高级别的数据访问层设计,例如使用HibernateTemplate或JPA的Repository接口。 总结,Hibernate 3.2.1 GA 是一个强大且成熟的ORM工具,为Java开发者提供了便利的数据操作方式。尽管...
- Struts处理用户请求,Action调用业务逻辑方法,这些方法可以注入Spring管理的服务,从而使用由Spring托管的Hibernate Session进行数据操作。 在实际项目中,这三者集成后的优势在于: - 分离关注点:Struts处理...
3. **Spring-Hibernate集成**:配置Hibernate的SessionFactory Bean,包括数据库连接信息、方言、缓存等。Spring还提供了TransactionManager配置,用于事务管理。 4. **数据访问层设计**:创建DAO(Data Access ...
HibernateTemplate是Spring框架提供的一种操作Hibernate的方式,它简化了Hibernate的使用过程,使开发者无需关注Session的管理与事务控制,极大地提高了开发效率。本文将对HibernateTemplate的主要用法进行详细介绍...
**标题:“对hibernate的封装 HibernateTemplate”** 在Java Web开发中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它简化了数据库与Java对象之间的交互。然而,直接使用Hibernate API进行数据库操作可能...
### HibernateTemplate 的方法使用 #### 一、简介与配置方式 **HibernateTemplate** 是 Spring 框架中用于简化 Hibernate 使用的一个工具类。它通过 AOP(面向切面编程)的思想,封装了大量的 CRUD(创建、读取、...