IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SSM中的DAO层的编码小技巧 -> 正文阅读

[大数据]SSM中的DAO层的编码小技巧

我们在写SSM时,需要写DAO层与数据库进行交互,然而,我们会发现,与数据库的交互,肯定会有异常出现,此时需要我们进行捕获。
所以通常而言,我们的DAO层的代码都会如下:
在这里插入图片描述
比如上面的例子,查询商城的订单详情,我们需要向数据库进行查询。
我们分析下上面的代码,可以发现,该方法的执行结果会有三种情况出现:

  1. 如果成功查询,那么会返回我们想要的数据,执行完try语句后就直接结束该方法。
  2. 如果成功查询,并且查询的结果刚好为空,即数据库并没有符合要求的行数据,那么该方法也会在执行完try语句后返回null,然后结束该方法。
  3. 如果在执行try语句块的过程中,出现了异常,由于我们进行了try-catch,所以会跳转到catch处理掉异常,然后往下执行,所以接下来,会执行的是return null;也就是说,会返回null并结束该方法。

所以分析完这可能出现的三种情况,你们有没有发现问题的所在?
问题:如果我们采用这种编码方式,会导致外界调用该方法的调用者对返回的结果的意义不明确,即返回null时,外界的调用者不确定是因为程序执行出现异常才返回null,还是因为数据库压根就没有所要查询的数据,所以才返回null。因此,返回null的情况产生了歧义,意义不明确,不符合我们的程序运行规范(每个结果要有明确的意义)。


那么,要如何避免呢?很简单,耍个小心机就可以了!
在这里插入图片描述
在捕获完异常并处理后,添加划线的代码即可。
因为throw的是运行时异常,所以外界的调用者可以不对其进行处理。
通过我们这么一改造,那么该方法的运行结果就会出现如下三种情况:

  1. 如果成功查询,那么会返回我们想要的数据,执行完try语句后就直接结束该方法。
  2. 如果成功查询,并且查询的结果刚好为空,即数据库并没有符合要求的行数据,那么该方法也会在执行完try语句后返回null,然后结束该方法。
  3. 如果在执行try语句块的过程中,出现了异常,由于我们进行了try-catch,所以会跳转到catch处理掉异常,并且处理完异常后,又重新抛出一个运行时异常,最后结束该方法。

如此一来,我们就可以完美避开方法返回null时的意义存在歧义的现象啦!


好了,如果这篇文章对你有帮助的话,不妨点个关注吧~
期待下次我们共同讨论,一起进步~

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:54:36  更:2021-10-07 13:55:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:33:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码