Spring技术内幕之数据库操作组件的实现(02)-ORM的设计与实现

本文介绍了Spring ORM模块如何简化常见的持久层框架(如Hibernate、MyBatis和JPA)的使用,通过提供模板和支持类来减少样板代码,使得开发者可以更专注于业务逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring ORM的设计与实现

 <应用场景>

 java作为一种面向对象的语言,为面向对象原则(封装继承多态)的实现提供了语言及运行环境支持,然而,由于这些面向对象的原则是从软件工程的基础上发展而来的,与从数据理


论中发展起来的关系型数据库技术在基础上存在着很大的差异。因此,在利用java进行开发时,操作关系型数据库时有很大的不便,为了解决这些不匹配的问题,出现了ORM产品

较常用的ORM产品比如:Hibernate MybatisJPA


在通常情况下,可以直接使用ORM框架,比如使用Hibernate。但是在使用Hibernate的过程中,需要处理SessionSessionFactory等类外,还需要处理诸如事务处理,打开Session和关闭Session问题.这无疑增加了Hibernate的使用难度。

而Spring提供了Hibernate/Mybatis/Jpa等封装,如HibernateDaoSupportHibernateTemplateJpaDaoSupportJdbcDaoSupport等,简化了繁琐的通用过程,使开发人员只关注数据,比如数据的查询/删除等。


<设计概要>

Spring ORM包为主流的ORM工具提供了封装支持,如熟知的Hibernate外还有MybatisJPA等。使用其提供的模板类(Tenpalte Class) ,Tempalte核心类的设计如下图:



在关系图中,可以看出DaoSupport是一个基类,在这个基类上,设计了各种相关的子类,比如:HibernateDaoSupportHibernateTemplateJpaDaoSupportJdbcDaoSupportSqlMapClientDaoSupport

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值