当前使用版本(必填,否则不予处理)

3.3.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

数据源采用ShardingJDBC管理之后,MetaObjectHandler.updateFill和MetaObjectHandler.insertFill都不在起作用

重现步骤(如果有就写完整)

MyBatis-Plus 数据源采用ShardingJDBC管理之后,MetaObjectHandler.updateFill和MetaObjectHandler.insertFill都不在起作用

MyBatis-Plus 数据源采用ShardingJDBC管理之后,MetaObjectHandler.updateFill和MetaObjectHandler.insertFill都不在起作用

报错信息

没有任何报错信息,生气了语句正常执行,只是需要填充的字段还是空 Execute SQL:INSERT INTO hos_basic ( name, code, remark, create_user, create_time, update_user, update_time ) VALUES ('基础字段', '', '基础字段', NULL, NULL, NULL, NULL)

Comment From: miemieYaho

自己排查

Comment From: Will-yc

我应该从哪开始排查,找了半天也没有找到入口,根本就不进入这个字段填充的类

Comment From: miemieYaho

你自己构建sqlsessionfactory了?

Comment From: Will-yc

没有啊 MyBatis-Plus 数据源采用ShardingJDBC管理之后,MetaObjectHandler.updateFill和MetaObjectHandler.insertFill都不在起作用

Comment From: miemieYaho

MybatisPlusAutoConfiguration点开启动debug看

// TODO 注入填充器
this.getBeanThen(MetaObjectHandler.class, globalConfig::setMetaObjectHandler);

有没有注入

Comment From: Will-yc

MyBatis-Plus 数据源采用ShardingJDBC管理之后,MetaObjectHandler.updateFill和MetaObjectHandler.insertFill都不在起作用 找到问题了,在这个地方ShardingJDBC构建sqlsessionfactory了,只是我应该怎么重新注入MetaObjectHandler

Comment From: miemieYaho

这是你们自己写的吧,自己写的就参考 MybatisPlusAutoConfiguration 改

Comment From: Will-yc

明白了,谢谢