- 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
您可能关注的文档
- 第3章 综合力与应用创新能力.doc
- 第3章 关于类对象的进一步讨论.doc
- 第3章 ANSS 有限元程序的应用.doc
- 第3章 建立元图形符号库.doc
- 第3章 能量的化与守恒.doc
- 第3章 食物与康1.doc
- 第3章ADHD病因.doc
- 第3章第3节同练习及解析.doc
- 第3章类对象与法实验题.doc
- 第3节 单细胞生物体.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 四年级音乐下册欣赏《包粽子》《欢乐的夜晚》教案苏教版.pdf VIP
- 电镀加工项目可行性研究报告.docx VIP
- 第三单元第二章植物体内的物质与能量变化【速记清单】.docx
- 高大模板工程施工与支撑体系专项方案.docx VIP
- 春节后复工复产方案.doc VIP
- 中建协QC汇编_3-福州建工-提高大面积冷库墙体保温层施工质量——福州建工(集团)总公司.doc VIP
- Q SHB 0003-2016_全自动滚筒洗衣机玻璃观察窗.pdf VIP
- 电力工程安全协议书.doc VIP
- 2019年青海省中考数学试卷【原卷版】材料.pdf VIP
- AI驱动的组织重构与业务重构:绚星智慧科技AI实践白皮书.docx VIP
原创力文档

文档评论(0)