一、持久化层
1. 将内存中的数据保存到关系型数据库的过程称为持久化。
2. 持久化层的构成
- 事务(ACID)
A:atomicity原子性。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。
C: consistency一致性。事务必须是使数据库从一个一致状态变到另一个一致性状态。
I: isolation隔离性。一个失误的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
D: durability持久性。持久性也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。 - 数据的安全性(遵守约束规则)
- 完整性
数据完整性指数据的精准性和可靠性。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性、域完整性、参照完整性、用户自定义完整性。
3. 对象关系映射(O/R Mapping)的规则
- 实体类映射表,实体类的属性映射表的字段。
- 实体类对象映射表的记录。
- 实体对象的关联关系映射表的关联关系。
4. 三大范式
- 1NF:属性不能分割
- 2NF:在1NF的基础上,所有属性都依赖于主键属性(主键约束)
- 3NF:在2NF的基础上,将不依赖于主键的属性分离并设置关键约束(外键约束)
二、持久化框架的技术实现框架
- JDBC
- EJB–CMP(容器管理的持久化,适用于分布式应用–金融证券)IBM
- JDO(oracle的持久化标准)
- OJB(开源组织的持久化框架标准)
- Mybatis(google持久化开源框架)
- Hibernate(开源组织的产品)