Mybatis作为持久层更新数据库只能更新部分字段

先看一个表的 字段 及 类型  ,这里这个content 类型比较特殊,拿他作为例子来说明下问题

Mybatis作为持久层更新数据库只能更新部分字段_第1张图片

问题描述:更新这个表对应的实体类时 运用Mybatis逆向工程生成的方法updateByPrimaryKey() 其他字段都可以更新,唯独content 更新失败,debug 断点调试,跟了一下 参数都没有问题。


我们到Mybatis的逆向工程生成的xml 映射文件看一下:

Mybatis作为持久层更新数据库只能更新部分字段_第2张图片

然后我们看一下UpdateByPrimaryKey 方法:

Mybatis作为持久层更新数据库只能更新部分字段_第3张图片

终于找到原因了

然后细心地你 如果多瞅一眼的话 你还会发现这个 updateByPrimaryKeySelective()这个方法我表示从来没人教过也没用过,但是仔细看一下,应该能实现我们的效果

Mybatis作为持久层更新数据库只能更新部分字段_第4张图片

然后 我就把原来 需要更新的地方  用updateByPrimaryKeySelectIve()方法代替updateByPrimaryKey() 果然 更新 成功!

完美解决。

你可能感兴趣的:(Mybatis)