springboot~Integer和int如何选择,Integer的意义何在
今天说一下自己在项目中遇到的问题,然后总结一下Integer引用类型和int值类型
关于默认值
Integer默认为null
int默认为0
为什么把数据实体设计成Integer或者不是int
大叔认识,这样设计有助于我们区分这个字段是否被设置过,或者说是否被set过,而对于Integer来说,如果没有被set过,它一定是null(当然你把它强制改为null除外),而对于int来说,你无法区别0和默认值,因为它默认就是0,我觉得这是最重要的一点。
可以区分属性是否被设置过值
QueryWrapper里更加适合Integer
QueryWrapper是一个mybatis里的查询构造器,你可以为实体属性赋值,然后以它为一个依据,去查询与它匹配的结果集,当你没有为属性赋值时,它是null,(而对于int来说,它是0,0往往是有意义的,在QueryWrapper里,你无法忽略int的属性,这是十分尴尬的)。
例子,两个实体
public class UserInfo extends BaseEntity {private String name;private String email;private Integer age;
}public class UserInfo extends BaseEntity {private String name;private String email;private int age;
}
在QueryWrapper里进行条件的构造
UserInfo query = new UserInfo();query.setName("lind");query.setEmail("bfyxzls@sina.com"); //当没有设置Age属性时,它是null,在QueryWrapper里将被忽略,即查询所有AgeUserInfo dbUser = userInfoMapper.selectOne(new QueryWrapper<>(query));System.out.println(dbUser);Assert.assertEquals("lind", dbUser.getName());
上面的代码中,如果把Age改成int类型,那它只能查询出Age=0的数据,这不是我们所希望的!
只要一步一个脚印,水滴石穿,吃透、搞懂、拿捏住是完全没有问题的!看到这里的都是妥妥的铁粉无疑了,底下是微信,找到的可是有大把源码,学习路线思维导图啥的,多的我就不透露,539413949看大家自己的积极性了啊,热爱所热爱的,学习伴随终生
springboot~Integer和int如何选择,Integer的意义何在相关推荐
- java integer int 比较_java Integer和int之间的比较问题是什么?
展开全部 java Integer和int之间e68a84e8a2ad3231313335323631343130323136353331333365633864==的比较问题.求解释 public ...
- 你知道Integer和int的区别吗
最近小康面试,突然被面试官问道,说一下Integer和int的区别.额-可能平时就知道写一些业务代码以及看一些自己觉得比较高大上的东西,包括面试也看的一些Spring源码等,对于这种java特别基础的 ...
- 关于Integer和int
int和Integer的区别 int是java的一种基本数据类型,Integer是int的包装类 Integer变量必须实例化后才能使用,而int变量不需要 Integer实际是对象的引用,当new一 ...
- integer比较_每日一题:Integer、int 的区别
点击上方蓝色字体,选择"标星公众号"优质文章,第一时间送达来自 | chenxiangxiang链接 | cnblogs.com/cxxjohnson/p/10504840.htm ...
- Integer、new Integer() 和 int 比较的面试题,考验你技术功底的时候到了!
作者:chenxiangxiang cnblogs.com/cxxjohnson/p/10504840.html 基本概念的区分: Integer 是 int 的包装类,int 则是 java 的一 ...
- Integer vs int
http://www.cnblogs.com/liuling/archive/2013/05/05/intAndInteger.html 如果面试官问Integer与int的区别:估计大多数人只会说道 ...
- integer比较_傻傻分不清?Integer、new Integer() 和 int 的面试题
基本概念的区分 1.Integer 是 int 的包装类,int 则是 java 的一种基本数据类型 2.Integer 变量必须实例化后才能使用,而int变量不需要 3.Integer 实际是对象的 ...
- Integer 和 int 比较的特殊之处
2019独角兽企业重金招聘Python工程师标准>>> 第一个例子: 假设我们同时定义 int a = 3; int b = 3; 编译器先处理int a = 3: 首先它会在 ...
- (备忘)Java数据类型中String、Integer、int相互间的转换
1.Integer转换成int的方法 Integer i; int k = i.intValue(); 即Integer.intValue(); 2.int转换成Integer int i; Inte ...
最新文章
- 利器:Sublime Text 要点记录
- css实现让页面的footer始终位于底部
- Spring常见面试题
- 数据库MySQL/mariadb知识点——函数
- js html 导出word 不用activexobject,javascript下用ActiveXObject控件替换word书签,将内容导出到word后打印第2/2页...
- python数据透视、有的value不能同时输出_python – Pandas数据透视表ValueError:索引包含重复的条目,无法重新整形...
- C#LeetCode刷题之#231-2的幂(Power of Two)
- 什么是webpack? ----(webpack入门)
- 微导管行业调研报告 - 市场现状分析与发展前景预测
- COGS 2075. [ZLXOI2015][异次元圣战III]ZLX的陨落
- 直播源php代理用什么主机,流媒体直播系统_流媒体直播php源码_流媒体直播源码...
- 【其他】bilibili下载的m4s格式视频如何还原为mp4
- android 系统 安卓8,安卓系统竟可以这么流畅!最快Android 8.0来了
- 调音台、声卡、视频采集卡技术参数
- 锋利的jQuery学习总结
- 干草堆(寒假每日一题 2)
- 方舟进官方服务器弹网页,进方舟服务器就弹白框
- 工欲善其事!有这些工具你才能修出一张完美的照片
- 一种电子病历系统软件框架思想——B/S与C/S混合架构
- Python语言在地球科学领域中的应用