持久层设计策略
在编程的领域中,越来越多的发展趋势的是面向对象的思想,即Object的思想。
而在数据库领域中,虽然NoSQL开始流行,但是关系型数据库还是占据了企业开发技术列表的半壁江山,即Relation数据库。
如何将Object和Relation进行完美的结合,一直是持久层讨论的话题。关于O-RMapping的理论也比较多,相应的框架级产品也不少。如Hibernate、MyBatis等。
那么设计一个这样的框架需要考虑哪些问题呢?
1、如何映射?即通过什么方式能够将Object中的属性与数据库系统的行数据相对应,要知道Object中的属性名和类型与数据库中的可是不一定一致。更有甚者,一个业务实体的Object中,对应的数据库中的不只是一张表,如何做到CRUD?
2、如何处理继承?Object的三大特性就是继承、多态和封装。如何利用好这个继承呢?在关系数据库中可体现不出来这个继承关系。
3、事务处理。在实际的业务处理中,需要进行一些事务处理,因此DAO组件需要具有事务处理的能力。
4、性能处理。在数据处理性能有要求的时候,怎么能够达到所要求的性能呢?或者说不会让DAO层成为性能的瓶颈呢?缓存?懒加载?
5、轻量级。我可不想使用这个DAO框架的时候需要引入几个M的jar包。
6、SQL透明化
相关推荐
bianruifeng 2020-06-18
yinyang00 2020-05-15
lt云飞扬gt 2020-04-21
ChenRuiyz 2020-04-17
VanTYS 2020-02-03
csuzxm000 2020-01-14
smalllove 2020-01-10
踩风火轮的乌龟 2020-01-06
imacoder 2020-01-03
smartbaby 2019-11-18
shixiaoguo0 2016-12-20
YZR 2017-10-25
Rebirthme 2011-10-04
neverstopforcode 2019-10-08
xuelang0 2019-09-03
ptmagic 2019-07-30
鲁氏汤包王 2019-07-24