Java持久层设计要考虑的问题有哪些
持久层设计的目标包括:
- 数据存储逻辑的分离,提供抽象化的数据访问接口。
- 数据访问底层实现的分离,可以在不修改代码的情况下切换底层实现。
- 资源管理和调度的分离,在数据访问层实现统一的资源调度(如缓存机制)。
- 数据抽象,提供更面向对象的数据操作。
持久层框架有:
- Hibernate
- MyBatis
- TopLink
- Guzz
- jOOQ
- Spring Data
- ActiveJDBC
java中持久层是基础构架层吗
J2EE分层设计是Java企业应用的最基本的设计思想。
从最常规的分层结构来说,系统层次从上到下依次为:
1、表示层:对外提供服务的接口。注意,这里的接口不同于Java的Interface。
2、业务层(领域层):由服务层+领域对象组成。
业务层的实现有三种方式:(1)事务,即过程(这里的事物不同于数据库的事务概念)脚本;(2)领域模型;(3)表模块(实际当中很少使用)。
3、持久层:使用外部(如数据库)服务的接口,这里的接口同上所述。
其中有些指导原则:
1、层次划分原则:上层使用下层,下层不依赖于上层。
2、核心:分几个层次,各层的职责是什么。
使用分层并不就是十分完美的,它既有好处,也存在着一些不足。
好处:
1、不需要过多的了解其他层的实现
2、层次可以很轻松的被替换掉
3、减少层与层之间的依赖
4、每个层次可以单独制定它的标准
不足:
1、层次过多会影响性能
2、不能封装所有的内容
其实这其中最为核心的数据库层,毕竟我们的所有一切都是建立在数据库基础上的,并且是围绕他展开的。要说最基础应该是数据库层了!