Skip to content

Commit f99ff13

Browse files
author
zhangrongfan
committed
Fix MetaObject not using real target
1 parent 2179b3f commit f99ff13

File tree

9 files changed

+22
-9
lines changed

9 files changed

+22
-9
lines changed

mybatis-boost-core/src/main/java/cn/mybatisboost/core/preprocessor/ParameterNormalizationPreprocessor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import cn.mybatisboost.core.SqlProvider;
44
import cn.mybatisboost.util.MapperUtils;
5+
import cn.mybatisboost.util.MyBatisUtils;
56
import org.apache.ibatis.mapping.BoundSql;
67
import org.apache.ibatis.mapping.MappedStatement;
78
import org.apache.ibatis.reflection.MetaObject;
@@ -43,7 +44,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
4344
Map<String, Object> parameterMap = new HashMap<>();
4445
parameterMap.put("arg0", parameterObject);
4546
parameterMap.put("param1", parameterObject);
46-
metaObject.setValue("delegate.parameterHandler.parameterObject", parameterMap);
47+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
48+
.setValue("delegate.parameterObject", parameterMap);
4749
metaObject.setValue("delegate.boundSql.parameterObject", parameterMap);
4850
}
4951
}

mybatis-boost-core/src/main/java/cn/mybatisboost/lang/provider/InsertEnhancement.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
5858
metaObject.setValue("delegate.boundSql.parameterMappings",
5959
MyBatisUtils.getListParameterMappings(configuration, propertiesAndColumns.first(), entities.size()));
6060
metaObject.setValue("delegate.boundSql.parameterObject", parameterObject);
61-
metaObject.setValue("delegate.parameterHandler.parameterObject", parameterObject);
61+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
62+
.setValue("delegate.parameterObject", parameterObject);
6263
}
6364
}
6465
}

mybatis-boost-core/src/main/java/cn/mybatisboost/limiter/provider/MySQL.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cn.mybatisboost.limiter.provider;
22

33
import cn.mybatisboost.core.SqlProvider;
4+
import cn.mybatisboost.util.MyBatisUtils;
45
import cn.mybatisboost.util.SqlUtils;
56
import org.apache.ibatis.mapping.BoundSql;
67
import org.apache.ibatis.mapping.MappedStatement;
@@ -16,7 +17,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
1617
metaObject.setValue("delegate.boundSql.sql",
1718
SqlUtils.appendLimit(boundSql.getSql(), (RowBounds) metaObject.getValue("delegate.rowBounds")));
1819
metaObject.setValue("delegate.rowBounds", RowBounds.DEFAULT);
19-
metaObject.setValue("delegate.resultSetHandler.rowBounds", RowBounds.DEFAULT);
20+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.resultSetHandler"))
21+
.setValue("delegate.rowBounds", RowBounds.DEFAULT);
2022
}
2123

2224
@Override

mybatis-boost-core/src/main/java/cn/mybatisboost/limiter/provider/PostgreSQL.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cn.mybatisboost.limiter.provider;
22

33
import cn.mybatisboost.core.SqlProvider;
4+
import cn.mybatisboost.util.MyBatisUtils;
45
import cn.mybatisboost.util.SqlUtils;
56
import org.apache.ibatis.mapping.BoundSql;
67
import org.apache.ibatis.mapping.MappedStatement;
@@ -16,7 +17,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
1617
metaObject.setValue("delegate.boundSql.sql",
1718
SqlUtils.appendLimitOffset(boundSql.getSql(), (RowBounds) metaObject.getValue("delegate.rowBounds")));
1819
metaObject.setValue("delegate.rowBounds", RowBounds.DEFAULT);
19-
metaObject.setValue("delegate.resultSetHandler.rowBounds", RowBounds.DEFAULT);
20+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.resultSetHandler"))
21+
.setValue("delegate.rowBounds", RowBounds.DEFAULT);
2022
}
2123

2224
@Override

mybatis-boost-core/src/main/java/cn/mybatisboost/mapper/provider/Delete.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
4747
List<ParameterMapping> parameterMappings = MyBatisUtils.getParameterMappings
4848
((org.apache.ibatis.session.Configuration)
4949
metaObject.getValue("delegate.configuration"), properties);
50-
metaObject.setValue("delegate.parameterHandler.parameterObject", entity);
50+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
51+
.setValue("delegate.parameterObject", entity);
5152
metaObject.setValue("delegate.boundSql.parameterObject", entity);
5253
metaObject.setValue("delegate.boundSql.parameterMappings", parameterMappings);
5354
metaObject.setValue("delegate.boundSql.sql", sqlBuilder.toString());

mybatis-boost-core/src/main/java/cn/mybatisboost/mapper/provider/Insert.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
9595
metaObject.getValue("delegate.configuration"), properties);
9696
}
9797
}
98-
metaObject.setValue("delegate.parameterHandler.parameterObject", entity);
98+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
99+
.setValue("delegate.parameterObject", entity);
99100
metaObject.setValue("delegate.boundSql.parameterObject", entity);
100101
metaObject.setValue("delegate.boundSql.parameterMappings", parameterMappings);
101102
metaObject.setValue("delegate.boundSql.sql", sqlBuilder.toString());

mybatis-boost-core/src/main/java/cn/mybatisboost/mapper/provider/SelectByIds.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import cn.mybatisboost.core.SqlProvider;
66
import cn.mybatisboost.util.EntityUtils;
77
import cn.mybatisboost.util.MapperUtils;
8+
import cn.mybatisboost.util.MyBatisUtils;
89
import cn.mybatisboost.util.SqlUtils;
910
import org.apache.ibatis.mapping.BoundSql;
1011
import org.apache.ibatis.mapping.MappedStatement;
@@ -57,7 +58,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
5758
} else {
5859
parameterMap = Collections.emptyMap();
5960
}
60-
metaObject.setValue("delegate.parameterHandler.parameterObject", parameterMap);
61+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
62+
.setValue("delegate.parameterObject", parameterMap);
6163
metaObject.setValue("delegate.boundSql.parameterObject", parameterMap);
6264
}
6365
metaObject.setValue("delegate.boundSql.parameterMappings", parameterMappings);

mybatis-boost-core/src/main/java/cn/mybatisboost/mapper/provider/SelectOrCount.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
5252
List<ParameterMapping> parameterMappings = MyBatisUtils.getParameterMappings
5353
((org.apache.ibatis.session.Configuration)
5454
metaObject.getValue("delegate.configuration"), properties);
55-
metaObject.setValue("delegate.parameterHandler.parameterObject", entity);
55+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
56+
.setValue("delegate.parameterObject", entity);
5657
metaObject.setValue("delegate.boundSql.parameterObject", entity);
5758
metaObject.setValue("delegate.boundSql.parameterMappings", parameterMappings);
5859
metaObject.setValue("delegate.boundSql.sql", sqlBuilder.toString());

mybatis-boost-core/src/main/java/cn/mybatisboost/mapper/provider/Update.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@ public void replace(Connection connection, MetaObject metaObject, MappedStatemen
6060
List<ParameterMapping> parameterMappings = MyBatisUtils.getParameterMappings
6161
((org.apache.ibatis.session.Configuration)
6262
metaObject.getValue("delegate.configuration"), properties);
63-
metaObject.setValue("delegate.parameterHandler.parameterObject", entity);
63+
MyBatisUtils.getRealMetaObject(metaObject.getValue("delegate.parameterHandler"))
64+
.setValue("delegate.parameterObject", entity);
6465
metaObject.setValue("delegate.boundSql.parameterObject", entity);
6566
metaObject.setValue("delegate.boundSql.parameterMappings", parameterMappings);
6667
metaObject.setValue("delegate.boundSql.sql", sqlBuilder.toString());

0 commit comments

Comments
 (0)