写在前面:各位看到此博客的小伙伴,如有不对的地方请及时通过私信我或者评论此博客的方式指出,以免误人子弟。多谢!
前几篇记录完了对枚举类的处理,顺便简单记录一下对布尔值的处理,因为遇到了一个小坑。
新增属性:
先看下保存相关代码:
// 实体属性private Boolean localFlag; // xml中<insert id="savePerson" parameterType="com.example.springbootmybatis.bean.Person">insert into t_person<trim prefix="(" suffix=")" suffixOverrides=","><if test="pname != null and pname != ''">pname,</if><if test="ptype != null">ptype,</if><if test="sex != null">sex,</if><if test="localFlag != null">local_flag,</if></trim><trim prefix="values(" suffix=")" suffixOverrides=","><if test="pname != null and pname != ''">#{pname},</if><if test="ptype != null">#{ptype},</if><if test="sex != null">#{sex},</if><if test="localFlag != null">#{localFlag},</if></trim></insert>
我遇到的小坑是:
- 多判了!='':<if test="localFlag != null and localFlag != '' "> 这样的后果是可以正常保存true数据库中为1,但是保存false的时候数据库为空不为0
- 属性使用boolean:应该使用包装类Boolean,使用boolean的时候@Data注解生成的是is**方法,而不是get**方法,导致取值有问题。
- 另外注意一下在判断日期类型和枚举类型的时候也不要判 !='',只判null即可,否则会报错