永发信息网

java 数据库映射的javabean中有的字段是int类型有的是integer类型有规范吗

答案:3  悬赏:40  手机版
解决时间 2021-04-07 01:41
java 数据库映射的javabean中有的字段是int类型有的是integer类型有规范吗
最佳答案
统一用Integer ,
int的默认值是0,而Integer的默认值是null,如果你数据库那个字段没有值,你用int存储,不是变成0了么?
全部回答
Integer有一个明显的好处,就是它能比int多表示一个值,没错就是null。假如一个属性,名字叫a,假如它的类型是Integer,那它就可以区别来有和没有值,比如你刚new出来一个对象,还没来得及给a赋值呢,此时a就是null,对吧,没有值。如果换成int类型呢,他有值,是0。假如这个属性是age,用户不想告诉你他的年龄,他就把用户名,邮箱啥的填了,年龄他没有填,此时如果这个age是Integer类型的,默认值就是null,保存到数据库,也就是对应的年龄那一列没有值。如果这个age是int类型,默认是0,也就是说数据库年龄那一列是有值的,是0,0岁?当然你可以自己写逻辑额外处理一下。
然后假如你这个字段是主键,对于一些ORM框架来说,他的逻辑很有可能有这样的,你这个字段有值,他就认为数据库里面有对应的记录,他就执行更新操作,这个字段没有值,他就认为数据库里面没有对应的记录,他就执行插入操作。假如这个字段是int类型,他就一定有值啊对不对,如果是Integer类型,他就可以没有值嘛(值为null也就是没有嘛)
还有其他一些区别比如什么性能问题,你要对这个玩意儿反反复复加啊减的,Integer是对象啊,性能相比int可能有数倍的差距,你要根据实际情况进行考虑。
int是基本数据类型,integer是包装类。而对8种数据类型的“包装”称为包装类。包装类符合对象特征,提供了一些必要的属性和方法。例如:int i=6;
Integer intVal= new Integer(100);//实例化integerL类intVal和intVal2,intVal的初始值为100
Integer intVal2= new Integer(i);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么七月的天山会让人感到秋天似的凉爽?
一个结过婚的男人抱着你还亲吻你然后才告诉你
情人节给女朋友送花卡片上写点撒?我想温馨一
IG尾巴折断了,怎么办?
月经期突然想吃酸怎么回事
纵彩广告在什么地方啊,我要过去处理事情
网购哪个平台最便宜?
QQ自由幻想怎么砍架
黑木耳,杏鲍菇,羊肚菌和鸡蛋能一起吃吗
沙漠寂寞这首歌的大意是什么意思
3岁的孩子能一起去吗
富益塑胶模具加工厂在什么地方啊,我要过去处
被称为"小中华"的烟是什么烟?
超级机器人大战F里的MK2合体机如何驾乘?
钢琴保持音记号的图片
推荐资讯
阳江在东南西北这4个方向系属于哪个?
找一款fc游戏,战斗画面和三国大乱斗差不多的
US Customs Binding Ruling
哪儿有卖48伏50AH的电动≡轮车充电器的:?
男人在路上看到美女为什么会看几眼?
老吾意思是什么意思
VR2009网球谁机器有,请给我些文件。我的游戏
耀县秦岭水泥在哪里啊,我有事要去这个地方
一个小型电热器若接在输出电压为10V的直流电
如何批量修改歌曲前缀
江苏润和西安分公司的工作强度大不大?有前景
再也不做电灯泡了 今天下午做了一下午电灯泡
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?