mybatis有字段存不进去_如何解决mybatis-plus调用update方法时,自动填充字段不生效问题...

前言

使用过mybatis-plus的朋友可能会知道,通过实现元对象处理器接口com.baomidou.mybatisplus.core.handlers.MetaObjectHandler可以实现字段填充功能。但如果在更新实体,使用boolean update(Wrapper updateWrapper)这个方法进行更新时,则自动填充会失效。今天就来聊聊这个话题,本文例子使用的mybatis-plus版本为3.1.2版本

为何使用boolean update(Wrapper updateWrapper),自动填充会失效?

从mybatis-plus 3.1.2版本跟踪源码,可以得知,自动填充的调用代码实现逻辑是由下面的核心代码块实现

/**

* 自定义元对象填充控制器

*

* @param metaObjectHandler 元数据填充处理器

* @param tableInfo 数据库表反射信息

* @param ms MappedStatement

* @param parameterObject 插入数据库对象

* @return Object

*/

protected static Object populateKeys(MetaObjectHandler metaObjectHandler, TableInfo tableInfo,

MappedStatement ms, Object parameterObject, boolean isInsert) {

if (null == tableInfo) {

/* 不处理 */

return parameterObject;

<

你可能感兴趣的:(mybatis有字段存不进去)