|
@@ -196,14 +196,14 @@ public class AutoSqlInjector implements ISqlInjector {
|
|
List<TableFieldInfo> fieldList = table.getFieldList();
|
|
List<TableFieldInfo> fieldList = table.getFieldList();
|
|
for (TableFieldInfo fieldInfo : fieldList) {
|
|
for (TableFieldInfo fieldInfo : fieldList) {
|
|
if (selective) {
|
|
if (selective) {
|
|
- fieldBuilder.append(convertIfTag(fieldInfo, false));
|
|
|
|
- placeholderBuilder.append(convertIfTag(fieldInfo, false));
|
|
|
|
|
|
+ fieldBuilder.append(convertIfTagInsert(fieldInfo, false));
|
|
|
|
+ placeholderBuilder.append(convertIfTagInsert(fieldInfo, false));
|
|
}
|
|
}
|
|
fieldBuilder.append(fieldInfo.getColumn()).append(",");
|
|
fieldBuilder.append(fieldInfo.getColumn()).append(",");
|
|
placeholderBuilder.append("#{").append(fieldInfo.getEl()).append("},");
|
|
placeholderBuilder.append("#{").append(fieldInfo.getEl()).append("},");
|
|
if (selective) {
|
|
if (selective) {
|
|
- fieldBuilder.append(convertIfTag(fieldInfo, true));
|
|
|
|
- placeholderBuilder.append(convertIfTag(fieldInfo, true));
|
|
|
|
|
|
+ fieldBuilder.append(convertIfTagInsert(fieldInfo, true));
|
|
|
|
+ placeholderBuilder.append(convertIfTagInsert(fieldInfo, true));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
fieldBuilder.append("\n</trim>");
|
|
fieldBuilder.append("\n</trim>");
|
|
@@ -643,6 +643,8 @@ public class AutoSqlInjector implements ISqlInjector {
|
|
* IF 条件转换方法
|
|
* IF 条件转换方法
|
|
* </p>
|
|
* </p>
|
|
*
|
|
*
|
|
|
|
+ * @param sqlCommandType
|
|
|
|
+ * SQL 操作类型
|
|
* @param fieldInfo
|
|
* @param fieldInfo
|
|
* 字段信息
|
|
* 字段信息
|
|
* @param prefix
|
|
* @param prefix
|
|
@@ -651,7 +653,8 @@ public class AutoSqlInjector implements ISqlInjector {
|
|
* 是否闭合标签
|
|
* 是否闭合标签
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- protected String convertIfTag(TableFieldInfo fieldInfo, String prefix, boolean colse) {
|
|
|
|
|
|
+ protected String convertIfTag(SqlCommandType sqlCommandType, TableFieldInfo fieldInfo, String prefix,
|
|
|
|
+ boolean colse) {
|
|
/* 前缀处理 */
|
|
/* 前缀处理 */
|
|
String property = fieldInfo.getProperty();
|
|
String property = fieldInfo.getProperty();
|
|
if (null != prefix) {
|
|
if (null != prefix) {
|
|
@@ -659,6 +662,9 @@ public class AutoSqlInjector implements ISqlInjector {
|
|
}
|
|
}
|
|
|
|
|
|
/* 判断策略 */
|
|
/* 判断策略 */
|
|
|
|
+ if (sqlCommandType == SqlCommandType.INSERT && fieldInfo.getFieldStrategy() == FieldStrategy.FILL) {
|
|
|
|
+ return "";
|
|
|
|
+ }
|
|
if (fieldInfo.getFieldStrategy() == FieldStrategy.NOT_NULL) {
|
|
if (fieldInfo.getFieldStrategy() == FieldStrategy.NOT_NULL) {
|
|
if (colse) {
|
|
if (colse) {
|
|
return "</if>";
|
|
return "</if>";
|
|
@@ -674,6 +680,14 @@ public class AutoSqlInjector implements ISqlInjector {
|
|
}
|
|
}
|
|
return "";
|
|
return "";
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ protected String convertIfTagInsert(TableFieldInfo fieldInfo, boolean colse) {
|
|
|
|
+ return convertIfTag(SqlCommandType.INSERT, fieldInfo, null, colse);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ protected String convertIfTag(TableFieldInfo fieldInfo, String prefix, boolean colse) {
|
|
|
|
+ return convertIfTag(SqlCommandType.UNKNOWN, fieldInfo, prefix, colse);
|
|
|
|
+ }
|
|
|
|
|
|
protected String convertIfTag(TableFieldInfo fieldInfo, boolean colse) {
|
|
protected String convertIfTag(TableFieldInfo fieldInfo, boolean colse) {
|
|
return convertIfTag(fieldInfo, null, colse);
|
|
return convertIfTag(fieldInfo, null, colse);
|