学会如何处理数据库中的null

学会如何处理数据库中的null,第1张

关系数据库中的NULL值的概念和Java中null的值的概念相似,前者任何类型都可以为null,但是在Java中,基本数据类型不能为null。当要读取一个数据库域赋值给一个基本类型的时候(例如resultSetgetInt(1)),可能会造成问题。这样的例子已经让JDBC规范的制订者开始研究如何解决。

当一个值通过如getInt、getLong、getFloat这样的getXxx方法从数据库中得到后,开发者可以调用wasNull()方法来找出其值是否为null。如果wasNull返回true,那么可以让开发者为基本类型选择使用合适的null值。GetXxx方法获得的值与JDBC的驱动紧密相关。

例如,在某个数据库驱动中,它返回0,另一个也许返回那一列的缺省值,也许还有一个返回驱动在那一列读取的最后一个值。

所以当你准备读取数据库中的NULL值的时候,要小心缺省值,你也许需要以下面的习惯编码:

一般你输入的null(会显示为黑色)其实在程序代码中等同于

“null”

意思就是一个字符串,值为“null”;

而默认的灰色null,其实是表示哪里什么都没有是“空的”

如果是字符串就代表字符串=null

先说答案,是C,然后解释下

一、null是代表不确定的对象

Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。

比如:int a = null;是错误的。Ojbect o = null是正确的。

Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,就去打印a的值。这条对对于引用类型变量也是适用的。

有时候,我们定义一个引用类型变量,在刚开始的时候,无法给出一个确定的值,但是不指定值,程序可能会在try语句块中初始化值。这时候,我们下面使用变量的时候就会报错。这时候,可以先给变量指定一个null值,问题就解决了。例如:

Connection conn = null;

try {

conn = DriverManagergetConnection("url", "user", "password");

} catch (SQLException e) {

eprintStackTrace();

}

String catalog = conngetCatalog();

如果刚开始的时候不指定conn = null,则最后一句就会报错。

二、null本身不是对象,也不是Objcet的实例

null本身虽然能代表一个不确定的对象,但就null本身来说,它不是对象,也不知道什么类型,也不是javalangObject的实例。

可以做一个简单的例子:

//null是对象吗 属于Object类型吗

if (null instanceof javalangObject) {

Systemoutprintln("null属于javalangObject类型");

} else {

Systemoutprintln("null不属于javalangObject类型");

}

结果会输出:null不属于javalangObject类型

以上就是关于学会如何处理数据库中的null全部的内容,包括:学会如何处理数据库中的null、mysql数据库中的默认“无”和“null”,有什么区别呢、NULL是指() A、0 B、空格 C、未知的值或无任何值 D、空字符串等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9860621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存