diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java index 313ac2bd..5e16eafa 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/BaseMapper.java @@ -21,11 +21,19 @@ import com.mybatisflex.core.field.FieldQueryBuilder; import com.mybatisflex.core.mybatis.MappedStatementTypes; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.provider.EntitySqlProvider; -import com.mybatisflex.core.query.*; +import com.mybatisflex.core.query.CPI; +import com.mybatisflex.core.query.FunctionQueryColumn; +import com.mybatisflex.core.query.Join; +import com.mybatisflex.core.query.QueryColumn; +import com.mybatisflex.core.query.QueryCondition; +import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.row.Row; import com.mybatisflex.core.table.TableInfo; import com.mybatisflex.core.table.TableInfoFactory; -import com.mybatisflex.core.util.*; +import com.mybatisflex.core.util.ClassUtil; +import com.mybatisflex.core.util.CollectionUtil; +import com.mybatisflex.core.util.ConvertUtil; +import com.mybatisflex.core.util.MapperUtil; import org.apache.ibatis.annotations.DeleteProvider; import org.apache.ibatis.annotations.InsertProvider; import org.apache.ibatis.annotations.Param; @@ -1187,7 +1195,7 @@ public interface BaseMapper { ExecutorType executorType = FlexGlobalConfig.getDefaultConfig().getConfiguration().getDefaultExecutorType(); String mapperClassName = ClassUtil.getUsefulClass(this.getClass()).getName(); - Map preparedParams = MapperUtil.preparedParams(page, queryWrapper, otherParams); + Map preparedParams = MapperUtil.preparedParams(this, page, queryWrapper, otherParams); if (!dataSelectId.contains(".")) { dataSelectId = mapperClassName + "." + dataSelectId; } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/MapperUtil.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/MapperUtil.java index 43988bf2..2b34a8e0 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/MapperUtil.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/MapperUtil.java @@ -33,6 +33,8 @@ import com.mybatisflex.core.query.QueryCondition; import com.mybatisflex.core.query.QueryTable; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.relation.RelationManager; +import com.mybatisflex.core.table.TableInfo; +import com.mybatisflex.core.table.TableInfoFactory; import org.apache.ibatis.exceptions.TooManyResultsException; import org.apache.ibatis.session.defaults.DefaultSqlSession; @@ -300,7 +302,7 @@ public class MapperUtil { } - public static Map preparedParams(Page page, QueryWrapper queryWrapper, Map params) { + public static Map preparedParams(BaseMapper baseMapper, Page page, QueryWrapper queryWrapper, Map params) { Map newParams = new HashMap<>(); if (params != null) { @@ -315,6 +317,8 @@ public class MapperUtil { newParams.put("dbType", dbType != null ? dbType : FlexGlobalConfig.getDefaultConfig().getDbType()); if (queryWrapper != null) { + TableInfo tableInfo = TableInfoFactory.ofMapperClass(baseMapper.getClass()); + tableInfo.appendConditions(null, queryWrapper); preparedQueryWrapper(newParams, queryWrapper); }