由于java中的基本类型会有默认值,例如当某个类中存在private int age;字段时,创建这个类时,age会有默认值0.
当使用age属性时,它总会有值。
因此,在某些情况下,便无法使age为null.
并且在动态SQL的部分,如果使用age != null 进行判断,结果总会为true,因而会导致很多隐藏的问题。
所以,在实体类中不要使用基本类型。基本类型包括 byteshortintlongfloatdoublecharoolean.
结论:在mybatis中,不要使用基本类型,要使用引用类型。