mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 17:18:24 +08:00
修复:通过方言动态添加 queryWrapper 条件,出现 No value specified for param 的错误, close #I7E7L8
This commit is contained in:
parent
b7348561de
commit
95d5330937
@ -208,10 +208,10 @@ public class EntitySqlProvider {
|
||||
CPI.setFromIfNecessary(queryWrapper, tableInfo.getSchema(), tableInfo.getTableName());
|
||||
|
||||
tableInfo.appendConditions(null, queryWrapper);
|
||||
|
||||
String sql = DialectFactory.getDialect().forDeleteEntityBatchByQuery(tableInfo, queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, CPI.getValueArray(queryWrapper));
|
||||
|
||||
|
||||
return DialectFactory.getDialect().forDeleteEntityBatchByQuery(tableInfo, queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
@ -269,12 +269,14 @@ public class EntitySqlProvider {
|
||||
//处理逻辑删除 和 多租户等
|
||||
tableInfo.appendConditions(entity, queryWrapper);
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forUpdateEntityByQuery(tableInfo, entity, ignoreNulls, queryWrapper);
|
||||
|
||||
Object[] values = tableInfo.buildUpdateSqlArgs(entity, ignoreNulls, true);
|
||||
Object[] queryParams = CPI.getValueArray(queryWrapper);
|
||||
|
||||
ProviderUtil.setSqlArgs(params, ArrayUtil.concat(values, queryParams));
|
||||
|
||||
return DialectFactory.getDialect().forUpdateEntityByQuery(tableInfo, entity, ignoreNulls, queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -296,11 +298,14 @@ public class EntitySqlProvider {
|
||||
//处理逻辑删除 和 多租户等
|
||||
tableInfo.appendConditions(null, queryWrapper);
|
||||
|
||||
Object[] queryParams = CPI.getValueArray(queryWrapper);
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forUpdateNumberAddByQuery(tableInfo.getSchema()
|
||||
, tableInfo.getTableName(), fieldName, value, queryWrapper);
|
||||
|
||||
Object[] queryParams = CPI.getValueArray(queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, queryParams);
|
||||
|
||||
return DialectFactory.getDialect().forUpdateNumberAddByQuery(tableInfo.getSchema(), tableInfo.getTableName(), fieldName, value, queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
@ -372,10 +377,13 @@ public class EntitySqlProvider {
|
||||
CPI.setFromIfNecessary(queryWrapper, tableInfo.getSchema(), tableInfo.getTableName());
|
||||
}
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
|
||||
Object[] values = CPI.getValueArray(queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, values);
|
||||
|
||||
return DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -399,10 +407,13 @@ public class EntitySqlProvider {
|
||||
CPI.setFromIfNecessary(queryWrapper, tableInfo.getSchema(), tableInfo.getTableName());
|
||||
}
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
|
||||
Object[] values = CPI.getValueArray(queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, values);
|
||||
|
||||
return DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -60,14 +60,14 @@ public class RowSqlProvider {
|
||||
*
|
||||
* @param params
|
||||
* @return sql
|
||||
* @see RowMapper#insert(String,String, Row)
|
||||
* @see RowMapper#insert(String, String, Row)
|
||||
*/
|
||||
public static String insert(Map params) {
|
||||
String tableName = ProviderUtil.getTableName(params);
|
||||
String schema = ProviderUtil.getSchemaName(params);
|
||||
Row row = ProviderUtil.getRow(params);
|
||||
ProviderUtil.setSqlArgs(params, RowCPI.obtainModifyValues(row));
|
||||
return DialectFactory.getDialect().forInsertRow(schema,tableName, row);
|
||||
return DialectFactory.getDialect().forInsertRow(schema, tableName, row);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -98,7 +98,7 @@ public class RowSqlProvider {
|
||||
ProviderUtil.setSqlArgs(params, values);
|
||||
|
||||
//sql: INSERT INTO `tb_table`(`name`, `sex`) VALUES (?, ?),(?, ?),(?, ?)
|
||||
return DialectFactory.getDialect().forInsertBatchWithFirstRowColumns(schema,tableName, rows);
|
||||
return DialectFactory.getDialect().forInsertBatchWithFirstRowColumns(schema, tableName, rows);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -106,7 +106,7 @@ public class RowSqlProvider {
|
||||
*
|
||||
* @param params
|
||||
* @return sql
|
||||
* @see RowMapper#deleteById(String,String, String, Object)
|
||||
* @see RowMapper#deleteById(String, String, String, Object)
|
||||
*/
|
||||
public static String deleteById(Map params) {
|
||||
String schema = ProviderUtil.getSchemaName(params);
|
||||
@ -146,18 +146,21 @@ public class RowSqlProvider {
|
||||
*
|
||||
* @param params
|
||||
* @return sql
|
||||
* @see RowMapper#deleteByQuery(String,String, QueryWrapper)
|
||||
* @see RowMapper#deleteByQuery(String, String, QueryWrapper)
|
||||
*/
|
||||
public static String deleteByQuery(Map params) {
|
||||
String schema = ProviderUtil.getSchemaName(params);
|
||||
String tableName = ProviderUtil.getTableName(params);
|
||||
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
|
||||
CPI.setFromIfNecessary(queryWrapper, schema,tableName);
|
||||
CPI.setFromIfNecessary(queryWrapper, schema, tableName);
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forDeleteByQuery(queryWrapper);
|
||||
|
||||
Object[] valueArray = CPI.getValueArray(queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, valueArray);
|
||||
|
||||
return DialectFactory.getDialect().forDeleteByQuery(queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -189,14 +192,17 @@ public class RowSqlProvider {
|
||||
Row data = ProviderUtil.getRow(params);
|
||||
|
||||
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
|
||||
CPI.setFromIfNecessary(queryWrapper,schema, tableName);
|
||||
CPI.setFromIfNecessary(queryWrapper, schema, tableName);
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forUpdateByQuery(queryWrapper, data);
|
||||
|
||||
Object[] modifyValues = RowCPI.obtainModifyValues(data);
|
||||
Object[] valueArray = CPI.getValueArray(queryWrapper);
|
||||
|
||||
ProviderUtil.setSqlArgs(params, ArrayUtil.concat(modifyValues, valueArray));
|
||||
|
||||
return DialectFactory.getDialect().forUpdateByQuery(queryWrapper, data);
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
@ -221,7 +227,7 @@ public class RowSqlProvider {
|
||||
values = ArrayUtil.concat(values, RowCPI.obtainAllModifyValues(row));
|
||||
}
|
||||
ProviderUtil.setSqlArgs(params, values);
|
||||
return DialectFactory.getDialect().forUpdateBatchById(schema,tableName, rows);
|
||||
return DialectFactory.getDialect().forUpdateBatchById(schema, tableName, rows);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -269,12 +275,13 @@ public class RowSqlProvider {
|
||||
String fieldName = ProviderUtil.getFieldName(params);
|
||||
Number value = (Number) ProviderUtil.getValue(params);
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forUpdateNumberAddByQuery(schema
|
||||
, tableName, fieldName, value, queryWrapper);
|
||||
|
||||
Object[] queryParams = CPI.getValueArray(queryWrapper);
|
||||
|
||||
ProviderUtil.setSqlArgs(params, queryParams);
|
||||
|
||||
return DialectFactory.getDialect().forUpdateNumberAddByQuery(schema, tableName, fieldName, value, queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
@ -293,7 +300,7 @@ public class RowSqlProvider {
|
||||
|
||||
ProviderUtil.setSqlArgs(params, primaryValues);
|
||||
|
||||
return DialectFactory.getDialect().forSelectOneById(schema,tableName, primaryKeys, primaryValues);
|
||||
return DialectFactory.getDialect().forSelectOneById(schema, tableName, primaryKeys, primaryValues);
|
||||
}
|
||||
|
||||
|
||||
@ -308,13 +315,15 @@ public class RowSqlProvider {
|
||||
String schema = ProviderUtil.getSchemaName(params);
|
||||
String tableName = ProviderUtil.getTableName(params);
|
||||
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
|
||||
CPI.setFromIfNecessary(queryWrapper,schema, tableName);
|
||||
CPI.setFromIfNecessary(queryWrapper, schema, tableName);
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
|
||||
Object[] valueArray = CPI.getValueArray(queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, valueArray);
|
||||
|
||||
|
||||
return DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -329,12 +338,15 @@ public class RowSqlProvider {
|
||||
String tableName = ProviderUtil.getTableName(params);
|
||||
|
||||
QueryWrapper queryWrapper = ProviderUtil.getQueryWrapper(params);
|
||||
CPI.setFromIfNecessary(queryWrapper,schema,tableName);
|
||||
CPI.setFromIfNecessary(queryWrapper, schema, tableName);
|
||||
|
||||
//优先构建 sql,再构建参数
|
||||
String sql = DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
|
||||
Object[] valueArray = CPI.getValueArray(queryWrapper);
|
||||
ProviderUtil.setSqlArgs(params, valueArray);
|
||||
|
||||
return DialectFactory.getDialect().forSelectByQuery(queryWrapper);
|
||||
return sql;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user