DAO数据访问对象(Data Access Object)

持久化是将程序中数据库在瞬时状态和持久状态间转换的机制JDBC是一种持久化的机制,将程序直接保存成文本文件也是持久化机制的一种实现

JDBC的封装:

原因:

JDBC将程序中的数据持久化保存到MySQL数据库以及使用Java程序对数据库数据进行持久化操作(增,删,改,查,保存,读取)

程序持久化保存在不同平台(Oracle,SQL,Server)

业务代码和数据访问代码完全耦合在一起,代码混乱,逻辑不清晰,为后期维护带来不便

解决方法:

定义统一的抽象API

1.将操作数据代码设置为接口,业务处理只需要调用方法便可以使用,实现对数据的访问(采用面向接口编程,降低代码间的耦合性,提高代码的可扩展和可维护性)

2.尽量以对象为单位,而不是以属性为单位来传递参数,给调用者提供面向对象的接口

3.把重复代码提取到一个专门的类中,需要时调用参数即可

DAO数据访问对象(Data Access Object)位于逻辑和持久化之间,实现对持久化数据的访问。(将数据库操作封装起来,对外提供对应接口)

DAO提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离,对上层提供面向对象的数据访问接口

DAO优势:

实现两次隔离

1.隔离数据访问代码和业务逻辑代码,后者直接调用前者

2.隔离不同数据库实现,采用面向接口编程,提高代码扩展性和系统可移植性

DAO组成部分:

DAO接口:把数据库的所有操作定义成抽象方法,可以提供多种实现

DAO实现类:针对不同数据库给出DAO接口定义方法的具体实现

实体类:用于存放于传输对象数据

数据库连接于关闭工具类:避免数据库连接和关闭代码的重复使用,方便修改

Properties类:

实现读取Java配置文件,这样就可以把常用的配置信息卸载配置文件中方便维护和修改

Properties配置文件:

Java配置文件常为Properties文件,格式为文本文件,内容为“键=值”格式

读取配置文件:

Properties位于Java.util包中,继承自Hashtable类

通过getRescourceAsStream(String name)方法获取配置文件的输入流,再通过load(inputStream inStream)从输入流中读取属性列表,最后使用getProperty(String key)读取到对应的值。将读取的配置信息封装在init()方法中,在静态代码块中调用,保证加载类时就能将数据库排至信息读取到内存

实体传输数据:

数据访问和业务逻辑代码通过实体类来传输数据

实体类特征:

1.private修饰属性

2.根据需求进行封装并负责属性赋值

3.对实体提供无参构造方法,根据业务需求提供相应的有参构造方法

4.实体类最好实现java.io.Seralizable接口,支持序列化机制,可以将对象转换为字节序列而进行传输

5.解决不同版本序列化问题

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值