例如,
1.如果你的数据库使用int类型字段,允许为null】】】
那么我们实体类使用integer时,即使不赋值,也不会报错,因为integer默认为null
但是你实体类使用int时,不赋值时,jdbc会给你返回0,那么这个0就会作为数据,插入到你的数据库中,后果可想而知,产生了不可控的可怕后果【因为这个0可能代表某种含义】
2. .如果你的数据库使用int类型字段,不允许为null】】】
使用包装类integer的时候,如果你往数据库插入null值,此时就会抛出异常。然后你就可以对异常进行捕获并处理。
但是你使用int是,不管这个int你给他赋值或不赋值,他都不会为null,不赋值为0,这个0并不是你想要往数据库插入的数据,但是它在你不知情的情况,就被插入数据库了,万一0代表什么含义,那是很严重的
实体类使用基本数据类型的时候,如果字段是NULL,那么JDBC会返回0,但是这里会有一个问题。有可能0在你的业务逻辑代表着特定含义,这时候就可能出现一些意想不到的后果。【你插入数据库数据是,这个0就会插入到数据库的字段值中】
网友评论