0 0

关于DAO查询模块返回值的疑惑5

假设我实现一个DAO的查询接口,返回值是List,但是一次调用相关系统jar包的接口中返回的是null,在这个地方我是直接返回null呢,还是return一个new ArrayList()比较合适(当然这种情况可能会多好一点堆内存)?

PS:上层的业务可能会获取此返回值的size值,当返回的值是null时,如果不判断一下肯定会报空指针;但如果是第二种情况,应该是为0。
当然如果我用apache的commons-collections.jar中的CollectionsUtils中的size接口,无论哪种情况,都不会报空指针的

问题补充:
kolor 写道
看你想在哪层做判断了,这个看你实现了

我就是不想每次在业务层或其他地方使用返回值的时候都做null的判断,管它是不是null,就想直接使用
PS:List或者Object,出现空指针的情况无非就是本身为null,或者List的里的元素为null,元素为null基本上可以在sql层使用默认值待遇
DAO 
2011年7月20日 16:50

6个答案 按时间排序 按投票排序

0 0

采纳的答案

常规处理:返回null.
http://shop67410310.taobao.com

2011年7月21日 18:14
0 0

返回null太不负责任了吧,参考java.util.Collections.EMPTY_LIST,这么好的东西咋就没人用呢

2011年7月22日 20:58
0 0

这种情况还是返回NULl比较好,最好还是在两层都做判断,这样程序显得更加健壮

2011年7月21日 15:00
0 0

返回Null比较合理,dao只负责拿数据

2011年7月21日 09:07
0 0

引用
kolor 写道
看你想在哪层做判断了,这个看你实现了

我就是不想每次在业务层或其他地方使用返回值的时候都做null的判断,管它是不是null,就想直接使用
PS:List或者Object,出现空指针的情况无非就是本身为null,或者List的里的元素为null,元素为null基本上可以在sql层使用默认值待遇

OK,你已经帮自己解答了,顺着自己的想法走就行

2011年7月20日 19:30
0 0

看你想在哪层做判断了,这个看你实现了

2011年7月20日 17:03

相关推荐

    SpringBoot 多模块Dao层单元测试

    在IDEA中,创建多模块Spring Boot项目时,我们需要定义一个主模块(parent)以及若干子模块(如service模块、dao模块等)。每个模块都应该有独立的`pom.xml`文件,定义其依赖关系和构建设置。 2. **添加测试依赖**...

    通用数据库访问模块,通用DAO类

    通用数据库访问模块(通常称为 DAO,Data Access Object)是一种软件设计模式,用于在应用程序和数据库之间提供一个抽象层。DAO 类的主要目标是隔离业务逻辑层与数据存储层,使得应用程序可以独立于特定的数据库实现...

    关于DAO的相关论文

    这样做的好处包括提高代码的可测试性、可维护性和模块化,同时降低了耦合度。通过DAO,开发者可以创建一个通用接口,隐藏具体的数据库访问细节,使得业务层可以无须关注底层数据库操作的实现。 1. DAO接口:在设计...

    DAO数据库模块-易语言

    会有人问DAO数据库操作是什么意思,我这里就解释一下,DAO的全称是:“Data Access Object”(数据访问对象 ),简单点理解就是数据库面向对象 我写过其他语言发现很多语言都有DAO这种框架,但是我在易语言 却找不到...

    JSP+DAO实现登陆模块

    用DAO的方式处理登陆模块的数据库连接和数据的处理等部分,使得jsp页面中不再有复杂的用户名和密码等的验证代码,实现了视图(界面设计)与业务逻辑的分离,使程序清晰明朗,具有更高的可读性。

    泛型dao 泛型dao 泛型dao

    Struts2、Hibernate、Spring整合的泛型DAO (本人评价: 代码开发效率提高30% 代码出错率减少70%) 对于大多数开发人员,系统中的每个 DAO 编写几乎相同的代码到目前为止已经成为一种习惯。虽然所有人都将这种重复...

    Dao Jet数据库引擎

    这些数据库文件可以包含表、查询、窗体、报表、宏和模块等对象,使得非程序员也能通过直观的界面设计和操作数据库。 在使用Dao Jet数据库引擎时,需要注意以下几点: - 性能:虽然适用于小型应用,但相比现代的...

    dao3.5数据库+引擎.zip

    DAO 3.5数据库引擎提供了对Jet数据库的读写能力,包括创建、查询、更新和删除记录。Jet引擎还支持结构化查询语言(SQL),允许用户以标准SQL语法操作数据。此外,它还负责管理表、查询、窗体、报表和其他数据库对象...

    8.DAO数据库表查询操作演示(Visual C++编程 源代码).rar

    8.DAO数据库表查询操作演示(Visual C++编程 源代8.DAO数据库表查询操作演示(Visual C++编程 源代码)8.DAO数据库表查询操作演示(Visual C++编程 源代码)8.DAO数据库表查询操作演示(Visual C++编程 源代码)8....

    关于java dao的入门介绍

    Java DAO(数据访问对象)是Java开发中用于与数据库交互的一种设计模式,它将数据访问逻辑与业务逻辑分离,使得代码更加模块化和易于维护。DAO模式通常包含以下几个部分: 1. DAO工厂类:用于创建DAO实例,可以根据...

    DAO3.6中文参考

    9. **宏和模块中的DAO使用**:在Access的宏和VBA模块中,可以通过宣告DAO库并引用其对象来实现数据库操作。例如,`Dim db As DAO.Database` 和 `Set db = CurrentDb()`。 10. **兼容性问题**:DAO3.6主要与Access ...

    dao3.5数据库安装文件

    4. **查询执行**:DAO提供了QueryDef对象,可以用来创建和执行SQL查询。这使得开发者能够在运行时动态构建查询,或者预先定义并存储在数据库中。 5. **事务处理**:DAO支持事务管理,允许对一组操作进行原子性处理...

    关于DAO(Data Access Object)的课件

    DAO的核心是简化数据库操作,包括创建、更新、查询和删除记录等。 在使用DAO之前,需要进行前置处理,即引入DAO库到VBA项目中。这可以通过以下步骤完成: 1. 打开任何表单进入设计模式。 2. 选择菜单栏的“视图” ...

    mybatis中查询结果为空时不同返回类型对应返回值问题

    MyBatis 中查询结果为空时不同返回类型对应返回值问题 MyBatis 中查询结果为空时不同返回类型对应返回值问题是 MyBatis 开发中一个常见的问题。当我们使用 MyBatis 进行数据库查询时,查询结果为空时,MyBatis 的...

    Dao3.5数据库引擎

    DAO(Data Access Objects)是微软在早期开发的一种数据库访问技术,它是Microsoft Jet数据库引擎的一部分,主要用于与Access数据库的交互。DAO3.5是DAO的一个特定版本,它在Windows 95和Windows 98时代非常流行,但...

    数据库操作-DAO篇.rar_DAO CListCtrl_DAO VC_dao_列表_查询

    在IT领域,数据库操作是应用程序开发中的核心部分,特别是在企业级应用中,数据的存储、...同时,它也强调了软件设计中模块化和解耦的重要性,即通过DAO将数据库访问与业务逻辑分离开来,使得代码更加可维护和扩展。

    系统配置文件 dao350和dao360

    标题中的“系统配置文件 dao350和dao360”指的是Microsoft Office系统中的数据库访问对象(DAO,Database Access Objects)版本350和360。DAO是Microsoft Jet数据库引擎的一部分,主要用于与Access数据库或其他Jet...

    李兴华 DAO设计模式 实现 增删改查 分页查询 完整代码

    DAO(Data Access Object)设计模式是一种在软件工程中常见的用于处理数据访问的模式,它将业务逻辑与数据访问操作分离,使得系统更加模块化,提高了代码的可复用性和可测试性。在这个“李兴华 DAO设计模式 实现 增...

    关于 DAO 接口设计的思考

    关于 DAO 接口设计的思考

Global site tag (gtag.js) - Google Analytics