|
@@ -915,7 +915,6 @@ public class DynamicInvokeInterceptor implements Interceptor {
|
|
* @return true/false
|
|
* @return true/false
|
|
*/
|
|
*/
|
|
private boolean prepare(BoundSql bound, Insert insert) {
|
|
private boolean prepare(BoundSql bound, Insert insert) {
|
|
- // 绑定参数TypeHandler
|
|
|
|
boolean rebuild = false;
|
|
boolean rebuild = false;
|
|
ItemsList items = insert.getItemsList();
|
|
ItemsList items = insert.getItemsList();
|
|
List<Column> columns = insert.getColumns();
|
|
List<Column> columns = insert.getColumns();
|
|
@@ -926,22 +925,7 @@ public class DynamicInvokeInterceptor implements Interceptor {
|
|
} else if (items instanceof ExpressionList) {
|
|
} else if (items instanceof ExpressionList) {
|
|
this.bindTypeHandler(bound, insert.getTable(), columns, ((ExpressionList) items).getExpressions());
|
|
this.bindTypeHandler(bound, insert.getTable(), columns, ((ExpressionList) items).getExpressions());
|
|
} else if (insert.getSelect() != null) {
|
|
} else if (insert.getSelect() != null) {
|
|
- SelectBody body = insert.getSelect().getSelectBody();
|
|
|
|
- if (body instanceof PlainSelect && ObjectUtils.notEmpty(((PlainSelect) body).getSelectItems())) {
|
|
|
|
- // 绑定 INSERT SELECT 语句TypeHandler
|
|
|
|
- List<SelectItem> selects = ((PlainSelect) body).getSelectItems();
|
|
|
|
- for (int i = 0, size = selects.size(); i < size; i++) {
|
|
|
|
- SelectItem item = selects.get(i);
|
|
|
|
- if (item instanceof SelectExpressionItem
|
|
|
|
- && ((SelectExpressionItem) item).getExpression() instanceof JdbcParameter) {
|
|
|
|
- JdbcParameter parameter = (JdbcParameter) ((SelectExpressionItem) item).getExpression();
|
|
|
|
- this.bindTypeHandler(bound, insert.getTable(), columns.get(i), parameter);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else if (body != null) {
|
|
|
|
- // 预处理JdbcParameter类型查询参数
|
|
|
|
- rebuild = this.prepare(bound, body, body);
|
|
|
|
- }
|
|
|
|
|
|
+ rebuild = this.prepare(bound, insert.getSelect());
|
|
}
|
|
}
|
|
|
|
|
|
// 初始化参数默认值
|
|
// 初始化参数默认值
|