JDBC封装
优点:
隔离细节
降低代码间耦合性
提高代码可扩展性和维护性
附注:
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中文网其他相关文章!

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

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

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

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

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

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

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

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

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)