搜索
首页数据库mysql教程mysql中DAO模式
mysql中DAO模式 Oct 10, 2017 am 09:54 AM
mysql模式

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中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)