第5章 Sprng的ORM模块.docVIP

  • 6
  • 0
  • 约1.47万字
  • 约 15页
  • 2016-10-16 发布于贵州
  • 举报
第5章 Sprng的ORM模块

第5章 Spring的ORM模块 本章学习目的和要求 简 本章重点和难点 ORM模块对Hibernate、JDO、TopLink、iBatis等ORM框架提供支持。本节以Hibernate为例介绍ORM模块。Spring支持的ORM方式类似于对JDBC的支持,例如在Dao层提供HibernateDaoSupport类与HibernateTemplate类。 ORM模块依赖于dom4j-1.6.jar、antlr.jar,Eclipse自带的Spring ORM类库可能没有这两个类库,需要自己添加。 5.1 实例:保存Cat实体 在Spring里,Hibernate的资源要交给Spring来管理。Hibernate及其SessionFactory等只是Spring的一个特殊的Bean,由Spring负责实例化与销毁。因此,DAO层只需要继承HibernateDaoSupport,而不需要与Hibernate的API打交道,不需要开启、关闭Hibernate的Session、Transaction,Spring会自动维护这些对象。 5.1.1 Cat实体类代码 看一个例子。本例将使用Spring的ORM模块保存、读取Cat实体类。实体类Cat的代码为(getter、setter略): Cat.java package com.helloweenvsfei.spring.orm; import java.util.Date; import javax.persistence.*; @Entity //实体类配置 @Table(name=tb_cat) //表配置 public class Cat { @Id //主键配置 @GeneratedValue(strategy=GenerationType.AUTO) //主键规则配置 private Integer id; private String name; //使用默认配置 @Temporal(value = TemporalType.TIMESTAMP) //列类型为timestamp private Date createdDate; } 5.1.2 DAO层接口 DAO层接口定义了操作Cat的方法。代码为: ICatDao.java package com.helloweenvsfei.spring.orm; import java.util.List; public interface ICatDao { //DAO接口 public void createCat(Cat cat); //保存对象 public ListCat listCats(); //查询所有对象 public int getCatsCount(); //返回对象数量 public Cat findCatByName(String name); //根据名字查询对象 } 5.1.3 继承HibernateDaoSupport DAO实现ICatDao接口,并继承Spring ORM模块的HibernateDaoSupport。HibernateDaoSupport封装了Hibernate,提供HibernateTemplate对象。代码为: CatDaoImpl.java package com.helloweenvsfei.spring.orm; import java.util.List; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class CatDaoImpl extends HibernateDaoSupport implements ICatDao { //继承Support public void createCat(Cat cat) { //保存对象 this.getHibernateTemplate().persist(cat); //使用Template保存 } public int getCatsCount() { //查询记录条数 return (Integer) this.getSession(true).createQuery( //调用Hibernate保存 select count(c) from Cat c ).uniqueResult(); } public ListCat listCats() { //查询所有的Cat return this.getHibernateTemplate().find( select c from Cat c

文档评论(0)

1亿VIP精品文档

相关文档