DAO模式

本文介绍了DAO模式在提高程序可读性和可维护性中的作用,它作为数据访问的抽象层,隔离了数据库操作与业务逻辑。DAO模式的主要组成部分包括DAO接口、实现类、实体类和配置管理。使用实体类传递数据,通过Propertise类读取配置文件,以实现对不同数据库的灵活切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JDBC的封装

我们是否考虑过这样一个问题,如何才能提高程序的可读性和可维护性,且方便在不同数据库之间切换呢?

对于这个问题,我们需要定义统一的抽象的API,这里可以将操作数据的代码抽象成接口,业务处理代码只需调用这些接口就可以实现对数据的访问,从而隔离实现细节,采用面向对象接口编程,可以降低代码间的耦合性,提高代码的可扩展性和可维护性。

DAO模式 ——一种非常流行的数据访问模式

DAO位于业务逻辑和持久化数据之间,实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来,对外提供相应的接口。

在面向对象设计过程中,有一些“套路”用于解决问题,称为模式。DAO模式提供了访问关系型数据库系统所需操作的接口,将数据访问和业务逻辑分离,对上层提供面向对象的数据访问接口。

DAO模式的优势在于它实现了两次分离
1.隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了耦合性,提高了可复用性。
2.隔离了不同数据库实现。采用面向接口编程,如果底层数据库变化,如有MySQL变成Oracle,只要增加DAO接口的新实现类即可,原有MySQL实现不用修改。这符合“开—闭”原则,降低了代码的耦合性,提高了代码扩展性和系统的可移植性。

一个典型的DAO模式主要由以下几部分组成
DAO接口:把对数据库的所有操作定义成抽象方法,可以提供多种实现。
DAO实现类:针对不同数据库给出DAO接口定义方法的具体实现。
实体类:用于存放与传输对象数据。
数据库连接和关闭工具类:避免了数据库连接和关闭代码的重复使用,方便修改。

Propertise类

如何让用户脱离程序本身去修改相关的变量设置?
使用Propertise类,它可以实现读取Java配置文件,这样我们就可以把常用的配置信息写在配置文件中方便维护和修改。

Java中提供的Propertise类的常用方法在这里插入图片描述

使用实体类传递数据:数据访问和业务逻辑代码之间通过实体类来传递数据

实体类的特征:
1.实体类的属性一般使用private修饰
2.根据业务需要和封装要求对实体类的属性提供getter和setter方法,负责属性的读取和赋值,一般使用public修饰。
3.对实体类提供无参构造方法,根据业务需要提供相应的有参构造方法。
4.实体类最好实现java.io.Serializable接口,支持序列化机制,可以将该对象转换成字节序列而保存在磁盘或在网络上传输。
5.如果实体类实现了java.io.Serializable接口,就应该定义属性serrialVersionUID,解决不同版本之间的序列化问题。

总结
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值