前言
实体类中 Integer 和 int 的区别。
实现
- 
Integer的默认值是null,而int的默认值是0。 - 
数据库中的
INT类型对应的是Integer,而不是int。 - 
定义属性值
int类型的时候,在数据库中默认null,当插入操作的时候会把默认值变成 0;定义属性值Integer类型的时候,在数据库中默认也是null,因此当插入操作的的时候默认值为null。 

所以在后端对该属性进行判断是否为空时,需注意二者的区别,一个判断是否为 null,一个判断是否为 0。但在实际的应用中有些类型的值为 0 是有意义的,如 gender(性别):0(代表女)1(代表男),此时当插入的数据为空时,int就会插入0,产生歧义。
因此建议使用 Integer,而非 int。
Java 中 Long 和 long 其实也有相似的性质。
总结
实体类中 Integer 和 int 的区别。