JDBC之代码优化-阿里云开发者社区

开发者社区> 数据库> 正文

JDBC之代码优化

简介: 上一次我们是先实现了JDBC对数据库的增删查改操作,然后在增加新信息过程中发现了新的问题,即当某一操作失败,为了维护数据库的一致性,我们需要回滚事务。在其中我们了解了事务的工作原理及相关代码的使用。
   上一次我们是先实现了JDBC对数据库的增删查改操作,然后在增加新信息过程中发现了新的问题,即当某一操作失败,为了维护数据库的一致性,我们需要回滚事务。在其中我们了解了事务的工作原理及相关代码的使用。
    但是在前面的代码中,我们直接将数据库的链接和要完成增删查改的内容写入了原码,这种做法是非常不适于工业标准的。所以本次我们需要开始优化代码。

    1.善用properties配置文件

新建一个dbconfig.properties文件用于存储数据库的URL,Driver,数据库用户名,数据库密码。目的是为了方便修改代码。
img_9909458ef901f74b65d6b0c3eb16fd4f.png

 2..构造一个Connection链接工厂

   完成从properties中读取配置信息,并以此为向导连接数据库。其中使用静态代码块和单例模式,以确保在程序执行过程中只会有一个ConnectionFactory实例。
img_7f16bf8f9f4b93512abe00d4a040c8d2.png
img_fcb12652b581b35536e21ae3b00ff31f.png

 3.构建DTO类,用以实现检索和存储与数据库交流的数据对象。

首先构建父类IdEntity,父类中存在Id成员变量,这也是所有子类应该具备的成员变量。
img_f9307f4a67d22f605410cce0bcfb2228.png
然后分别构建User和Adress子类,并生成相应的set(),get()方法。
img_f01441f22e1ae157bbef3bac2f49df13.png
 img_8695d8028940f10dff4e5877293c0e5a.png

 4.构建DAO类

  DAO类是数据访问对象,通过DAO来处理从数据库中取出的数据,或者通过DAO来存入要更新向数据库中的数据。DAO中包含大量的逻辑代码。
  为了保证程序的可移植性,首先新建一个DAO的接口,构建类的外观,然后再去implements这个接口。
img_eb82ef963c507bc4aad04fdcaa54e52f.png
 然后去implements这个接口:

img_5a8572a2c2cc7788f2556b6878b045fa.png
 img_1fac19833e24b5c664bff1e30550f91e.png
 最后在主函数中实例化DAO类的对象,实现向数据库传递信息。
img_08d0713b22b723060a60fd8f308b75a9.png
 总结:在整个代码优化过程中,包含了丰富的代码优化的思想。我们首先利用了properties来保存数据库的相关信息,然后利用ConnectionFactory的单例模式和makeConnection方法来完成对properties指向的数据库的连接。同时将与数据库进行交流的数据,抽象成一个DTO类。将与数据库数据交流的动作,抽象成一个DAO类。
原码链接如下:https://github.com/Dante-dan/JDBC
 


null


版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章