在javabean中使用double等基本类型时的困惑.

05-02-04 s_ming
最近在学jsp,在写程序时碰了这样的问题:

在数据库中有一个字段定义为double,并且可以为null.然后我又写了一个javabean(就是那种只有get和set方法的bean,这种bean应该叫什么?),bean中的一个属性对应到数据库中的这个double类型字段.我一开始把javabean中的这个属性定义为double类型,但是在java中double类型的默认值为0,而用户在页面上如果不输入数据,我希望数据库中保存null.接下来,问题来了,如果用户在页面上什么也不输入,数据保存到javabean后,就变成了0,然后再到数据库中也就成了0,而不是期望中的null.而0和null是两种完全不同的意思,0是有具体意义的,而null则表示这里没数据.

现在我只能把javabean中的所有属性都改成String,在保存到数据库中时再解析成相关的类型,但我觉得这样做很笨拙,不知道大家是怎样解决类似问题的.这个问题也同样存在于读取数据时.如果在javabean中用基本类型,则数据库中的null会显示为0.

我知道这里是讨论java高阶主题的地方,不知道这种初级问题是否有高手愿意回答,困惑中...

beowulf
2005-02-05 23:16
使用java.sql.ResultSet方法wasNull()可以辨别读出数据是否是NULL

猜你喜欢