• JDBC之代码优化


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

        1.善用properties配置文件

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

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

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

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

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

     4.构建DAO类

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

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




  • 相关阅读:
    python学习之【第十一篇】:Python中的文件操作
    vue2-preview引用时报错解决办法
    原生JS封装_new函数,实现new关键字的功能
    vue+element UI + axios封装文件上传及进度条组件
    Python面试题汇总
    在vue中如何使用axios
    tp5 修改默认的分页url
    jq判断是PC还是手机端的方法
    php 通过curl header传值
    windows 安装memchched和memcache教程
  • 原文地址:https://www.cnblogs.com/DDante/p/078be2d79bcfd36291283bb7dd10dc05.html
Copyright © 2020-2023  润新知