JDBC编程(二)
- 一、掌握DAO模式
什么是持久化?
持久化是将程序中的数据在瞬时状态和持久状态间转换的机制
程序运行过程中产生的数据是瞬时状态的数据(瞬时状态:内存中有,数据库中没有)
持久状态:数据在数据库中存在,永久的保存下来了
将数据从程序中记录到外界的媒介(文件、数据库等)上的过程就叫持久化的过程
持久化的实现方式:1、数据库 2、普通文件 3、XML文件
XML文件:可扩展的标记语言
DAO(数据访问层)起着转换器的作用,把实体类转换为数据库中的记录
- Data Access Object(数据存取对象)
- 位于业务逻辑和持久化数据之间
- 实现对持久化数据的访问
DAO模式的作用
- 隔离业务逻辑代码和数据访问代码
- 隔离不同数据库的实现
DAO模式的组成部分
- DAO接口
- DAO实现类
- 实体类
- 数据库连接和关闭工具类
- 二、掌握分层开发的优势和原则
分层开发的好处
- 各层专注于自己功能的实现,便于提高质量
- 便于分工协作,提高开发效率
- 便于代码复用
- 便于程序扩展
操作系统的分层:硬件-->操作系统-->应用软件
分层原则
- 封装性原则:每个层次向外公开接口,但是隐藏内部细节
- 顺序访问原则:下一层为上一层服务,但不使用上层的服务
- 三、使用实体类传递数据
实体类的作用就是用来传递数据的
分层结构中,各层之间通过实体类传输数据
- 四、掌握三层架构设计
三层架构设计
- J2EE三层架构简介:表示层 、业务逻辑层、数据访问层,三层之间用接口隔离(降低耦合度)。
- 定义实体类(领域对象),用于存取数据
- 定义相关接口与实现类
- 用配置文件(properties)和反射实现与具体类的耦合(可选)
三层架构图
- 表示层的作用: 1、和用户交互 2、显示数据
- 业务逻辑层的作用:完成具体的功能(最重要的部分)
- 数据访问层的作用:增删改查,数据库的操作
IBatis:封装sql语句的,能简化你写的sql语句,不是完全用面向对象的思想来操作数据库的,升级版是MyBatis;
Hibernate:面向对象的思想操作数据库的,能将一个对象保存到数据库里,不用再写sql语句;
JDO:Spring封装以后的JDBC;
Entity Bean :EJB的组件,比较慢,现在用的很少
三层架构设计的好处
就是让业务逻辑层不依赖于具体的数据访问类,而是依赖于接口,业务逻辑层只使用接口,至于数据访问层具体怎么实现,业务逻辑层不需要知道,这样将来如果更换数据访问层(如:原来由JDBC实现,现在改为Hibernate实现或其它方式实现时),只要新的数据访问层实现了原来定义好的接口,这样就不会影响到业务逻辑层(即:更换数据访问层,业务逻辑层的代码不需要作任何修改)。