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 ...
最新文章
- samba服务器配置
- skimage.io.imread vs caffe.io.load_image
- linux ssh终端解决中文乱码的问题
- android studio 加载ffmpeg.so,Android studio使用已经编译好的ffmpeg .so库
- OpenCV示例学习(七):离散傅里变换(DFT)算子:getOptimalDFTSize(),copyMakeBorder(),magnitude(),log(),normalize()
- UI设计中的弹窗设计素材,技巧快get起来
- 中国流动相配件行业市场供需与战略研究报告
- 8位可控加减法电路设计_C++手撕底层:位、字节、原码、反码、补码的深入理解...
- 灰色按钮克星v.10
- 手机浏览器 打开 APP,APP 嵌套在了浏览器里,网页跳转app问题
- Java框架jboot_微服务框架 Jboot 2.0.5 发布,常规更新
- 微信小程序实现保存图片(唤起用户授权)
- 【2022国赛模拟】逆天题——生成函数、单位根、Pollard-Rho算法
- 动态规划--资源分配问题
- 算法训练 JAM计数法 java 题解
- c#轻松实现磁性窗口
- nginx做代理访问慢,优化方案
- Jekyll(二). Liquid 模板语言
- Linux ARM平台开发系列讲解(TTY) 2.5.2 串口TTY子系统驱动源码分析
- forEach遍历数组