登录  /  注册

mysql中DAO模式

一个新手
发布: 2017-10-10 09:54:04
原创
1851人浏览过

JDBC封装

优点:

  1. 隔离细节

  2. 降低代码间耦合性

  3. 提高代码可扩展性和维护性

 附注:

         DAO模式提供了访问关系型数据系统所需操作的接口,将数据访问和业务逻辑分开,对

         上层提供面向对象的数据访问接口.

 DAO模式实现两层分离:

  • 代码间分工明确,数据访问层代码不影响业务逻辑层代码,这也符合单一职能原则,降低了耦合度,提高了代码的可复用性。。

  • 隔离了不同的数据库的实现,采用面向接口编程,如果底层数据变化了,如mysql变成了oracle。中需要增加DAO接口的实现类即可,原来的Mysql实现类不用修改,这符合开闭原则,降低耦合性,提高扩展性和移植性.

 DAO模式主要组成部分:

  • DAO接口:把对数据库的所有操作定义为抽象方法,放在接口里面,可以提供多种实现

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

  • 实体类:用于存放传送的对象数据,就直接传递对象就可以,不用传递很多参数

  • 数据库连接关闭工具类:还有一些比如增,删,改的复用代码可以提取到公共类中,还有关闭和连接数据库,避免代码冗余..

  • SRC右键→NEW→File→输出properties结尾的配置文件。

Prpoerties类

Properties配置文件

  • 在文件中添加配置信息

例:

Driver=com.mysql.jdbc.Driver                   //添加加载驱动的字符串Url=jdbc:mysql://localhost:3306/epet                                   //添加链接的字符串
Username=epetAdmin                                      //数据库用户名
Password=root                                             //数据库用户密码
登录后复制

读取配置文件

Properties类常用方法

 

方法

描述

String getProperty(String key)

用指定的键获得值

Object setProperties(String key,String value)

调用hashTable的put方法,通过调用基类的put() 方法设置键值对

Void  load(InputStream instr)

从输入流中读取属性列表,通过对指定的文件进行装载获取文件的键值

Void clear()

清除所转载的键值对,该方法是hashtable提供              

使用实体类传递数据

数据访问代码和业务逻辑代码之间通过实体类类传输数据,把相关的信息封装到实体;类中,程序把实体类作为方法的参数来传递。

实体类的特征

  • 实体类一般属性使用private修饰

  • 根据业务需求和封装性要求对实体类进行getter/setter方法,负责属性的读取和赋值,一般使用public修饰

  • 对实体类提供无参的构造函数,根据业务需求提供有参数的构造方法。

  • 实体类最好实现java.io.Serializable接口,支持序列化机制,可以将改对象转化为字节序列化而保存到磁盘(硬盘)或者网络上传输。

  • 如果实体类实现了serializable接口。就应该定义属性serialVersionUID,解决不同版本的序列化问题.

以上就是mysql中DAO模式 的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号