Spring如何提高JDBC代码的可读性?

学识吧 2022-05-02 17:42:57 189阅读

Hello!大家好,我是阿广,今天小编来分享一下“Spring如何提高JDBC代码的可读性?”这篇文章,我们每天分享有用的知识,下面小编就来分享一下吧,大家一起来学习吧!(⊃‿⊂)

Spring如何提高JDBC代码的可读性? 第1张

原料/工具

spring framework5.0

IntelliJ IDEA

方法/步骤

第1步

下面清单是一个如何使用JDBC的示例,使用作为Java开发工具包的一部分提供的api。

Spring如何提高JDBC代码的可读性? 第2张

Spring如何提高JDBC代码的可读性? 第3张

第2步

上面示例中最常见的问题是,需要多少代码才能插入一些数据,并验证数据是否存在。数据库访问所需的所有重量级类,如Connection、PreparedStatement和ResultSet,都可以在创建、使用和销毁时抛出已检查的SQLExceptions。这些异常不能简单地忽略:如果close方法抛出SQLException异常,那么到数据库的连接可能仍然存在。如果这种情况发生多次,数据库连接池中的所有连接都将处于使用状态,任何后续的数据库访问请求都将失败,导致整个应用程序陷入混乱的停顿。

Spring如何提高JDBC代码的可读性? 第4张

第3步

所以使用java.sql。类的结果是在try块中包围所有数据库访问,并在finally块中关闭数据库语句、结果集和连接。但是因为finally块中的这些close语句也可能失败,所以它们需要位于try块中。如果关闭失败,除了知道它已经发生,并手动终止到正在运行的程序的数据库连接之外,您实际上无能为力。

第4步

此外,由于数据库资源对象需要在try块中初始化,但在finally块中关闭,所以不能将引用变量赋值为final变量,这可能会在调用close方法之前(通过编程错误)重新分配这些变量。

Spring如何提高JDBC代码的可读性? 第5张

第5步

幸运的是,Spring提供了一些实用程序来处理这种样板方法。下图为上步骤提供了另一个finally块。

Spring如何提高JDBC代码的可读性? 第6张

Spring如何提高JDBC代码的可读性? 第7张

第6步

我们鼓励您查看这些实用函数的实现。它们包含与第一步骤中的finally块相同的代码,但是没有抛出检查过的异常。这大大减少了必要的样板代码;它们使您自己的代码更短,更容易阅读和推断正在发生的事情。

Spring如何提高JDBC代码的可读性? 第8张

第7步

JdbcUtils类还提供了一些其他有用的函数,比如从ResultSet提取结果,甚至从数据库命名约定(即separate _by_下划线)转换为Java的命名约定(definedWithCamelCase)。

Spring如何提高JDBC代码的可读性? 第9张

第8步

使用Java 8中介绍并在前面介绍中讨论过的try-with-resources语句也可以减少这里的样板代码,但是您必须为SqlException保留一个catch块,因为在创建资源时可能会抛出这个catch块。

Spring如何提高JDBC代码的可读性? 第10张

温馨提示

以上就是“Spring如何提高JDBC代码的可读性?”的全部内容了,小编已经全部分享给大家了,希望大家能学到新的知识!最后,小编希望以上分享的内容对大家有所帮助,如果觉得还不错就给小编点个赞吧!(⊃‿⊂)

目录[+]