最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

解决Java中int不能为空而Oracle数据库中Number可以的问题

来源:动视网 责编:小采 时间:2020-11-09 10:55:14
文档

解决Java中int不能为空而Oracle数据库中Number可以的问题

解决Java中int不能为空而Oracle数据库中Number可以的问题:在应用Hibernate开发中遇到了一个问题:Oracle数据库中某字段(Number类型)没有值(即NULL),其映射的JavaBean对应属性为int类 前言:空(NULL)和零(0)一样吗?当然不。Null表示不存在或不确定,0表示没有。在应用Hibernate开发中遇到了一个
推荐度:
导读解决Java中int不能为空而Oracle数据库中Number可以的问题:在应用Hibernate开发中遇到了一个问题:Oracle数据库中某字段(Number类型)没有值(即NULL),其映射的JavaBean对应属性为int类 前言:空(NULL)和零(0)一样吗?当然不。Null表示不存在或不确定,0表示没有。在应用Hibernate开发中遇到了一个


在应用Hibernate开发中遇到了一个问题:Oracle数据库中某字段(Number类型)没有值(即NULL),其映射的JavaBean对应属性为int类

前言:空(NULL)和零(0)一样吗?当然不。Null表示不存在或不确定,0表示没有。
在应用Hibernate开发中遇到了一个问题:Oracle数据库中某字段(Number类型)没有值(即NULL),其映射的JavaBean对应属性为int类型。在获取数据时,提示“将NULL值赋给基本类型失败”的错误。怎么解决呢?对我这个.NET转Java的新手来说还真有点晕。

1.先来谈谈int和Integer

int永远也不会为空,因为它是primitive数据类型。初始时缺省为0,而不是null。
Integer是对象类,倒可能是null。

因此
int i1;
Integer i2;

此时
i1==0 为true
i2==0 会出错吧
i2==null为true

2.修改int为Integer的解决方案

将配置文件改为:

JavaBean中做以下修改:

public void setA252(Integer a252) {
if(a252 != null){
this.a252 = a252;
}
else{
this.a252 = 0;
}
}

3.JDBC的解决方案

String result = rs.getString(1);

if (result != null){
a252 = Integer.parseInt(result);
}
else{
a252 = 0;
}

4.装箱、拆箱及其他

类型转换是在1.5中才有的。在明白怎么进行判断之前,,我们必须明白所谓的类型转换到底是什么东西。在1.5之前,你如果需要把一个int转换为Integer,你就必须做new Integer(intValue);这样的代码工作。因此在1.5中,Java的缔造者们认为这种方法过于低效率,因此引入了C#中的auto-boxing理念,因此你可以用类型转换的方法创造出一个Integer类实例。但是,其中的原理还是和以前一致的。因为在int类型中,永远不可能有null的取值,因此也不可能生成一个null的Integer对象。

另外可以强制转换下,也就是 (Object)int x == null;

文档

解决Java中int不能为空而Oracle数据库中Number可以的问题

解决Java中int不能为空而Oracle数据库中Number可以的问题:在应用Hibernate开发中遇到了一个问题:Oracle数据库中某字段(Number类型)没有值(即NULL),其映射的JavaBean对应属性为int类 前言:空(NULL)和零(0)一样吗?当然不。Null表示不存在或不确定,0表示没有。在应用Hibernate开发中遇到了一个
推荐度:
标签: 处理 java 为空
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top