class="reader-word-layer reader-word-s2-0">?
int,double,float的处理:根据iBATIS官方文档介绍,因为在javaBean中如果属性为int ,double, float 时,不允许设置为NULL,可以采用一个"神奇数字"来代替属性中的NULL,如-9999. 数据存入数据库时,当检测到属性值为-9999时,Ibatis把空值存入数据库中. 数据从数据库中取出时,当数据库中该字段为NULL时,Ibatis给javaBean中的属性赋值为-9999.
因此,在XML映射文件中,应该同时在存入与取出处指定nullValue='-9999',否则容易导致数据库的不一致. 这种做法虽然保证了数据库的一致性,但对程序来说并不雅观,在程序中如果要判断该属性是否为空,只要判断它是否等于"神奇数字",不得已而为之。