加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

使用空字符串而不是null – 一个好习惯?

发布时间:2020-12-15 05:19:54 所属栏目:Java 来源:网络整理
导读:例如在数据库中考虑: CREATE TABLE users ( id INTEGER IDENTITY PRIMARY KEY,last_name VARCHAR (50) DEFAULT '' NOT NULL,first_name VARCHAR (50) DEFAULT '' NOT NULL,email VARCHAR(50) DEFAULT '' NOT NULL) 并考虑使用Hibernate作为ORM与该数据库交
例如在数据库中考虑:

CREATE TABLE users (
  id INTEGER IDENTITY PRIMARY KEY,last_name VARCHAR (50) DEFAULT '' NOT NULL,first_name VARCHAR (50) DEFAULT '' NOT NULL,email VARCHAR(50) DEFAULT '' NOT NULL)

并考虑使用Hibernate作为ORM与该数据库交互的程序.

在我看来,这意味着:

>避免NullPointerExceptions
>避免检查空值

这是好习惯吗?请举例说明优缺点.

解决方法

正如PeterMmm所写,“Null”具有特殊含义,并且通常由数据库引擎中的特殊运算符支持.

“良好实践”是那些意味着你想要它意味着什么的短语之一,但是稍微解开一下这些论点:

>可维护性:不好主意.大多数开发人员习惯于在数据库系统中实现NULL,并且需要对您的设计进行特殊培训.
>容错:不好主意.如果不允许列为null,那通常意味着应用程序设计中的某些内容.如果用户记录必须有一个有效的电子邮件地址,您现在不能再在数据库级别验证这一点 – 因此您的数据库可能会逐渐填满虚假数据,并且您只会在尝试发送电子邮件时找到至 ”. “空指针”异常是功能,而不是错误!
>性能:根据http://www.sql-server-performance.com/2007/datatypes/,NULL更慢.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读