int 类型,在默认情况下不赋值为0,执行到mybatis的更新语句时,被当做数字0,而非null
Integer的默认值为null
,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,
总结:在实体类中尽量使用Integer修饰,Integer可以区分出未赋值和值为0的区别,我们大部分做判断都是以“”null“”去判断的。
/**
* 主键字段
*/
@TableId(type = IdType.AUTO) //根据数据库类型设置自增
private Integer id;
自增主键为integer类型,对应数据库列类型为int,如果不加这个配置的话,就会默认将跟随全局。
如果你的数据库是int类型且自增的话,那么mybatis-plus会默认插入Long类型的自增id,导致报错,当然你可以考虑在数据库里把id设置成bigint类型,实体类里用Long来作为主键id,