fix 修复 insertAll sql拼接无主键问题

This commit is contained in:
疯狂的狮子li 2021-06-21 17:53:18 +08:00
parent ff5edc44ed
commit 9c55b83dea
1 changed files with 4 additions and 1 deletions

View File

@ -1,5 +1,6 @@
package com.ruoyi.common.core.mybatisplus.methods; package com.ruoyi.common.core.mybatisplus.methods;
import cn.hutool.core.util.StrUtil;
import org.apache.ibatis.executor.keygen.NoKeyGenerator; import org.apache.ibatis.executor.keygen.NoKeyGenerator;
import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.SqlSource; import org.apache.ibatis.mapping.SqlSource;
@ -26,7 +27,9 @@ public class InsertAll extends AbstractMethod {
private String prepareFieldSql(TableInfo tableInfo) { private String prepareFieldSql(TableInfo tableInfo) {
StringBuilder fieldSql = new StringBuilder(); StringBuilder fieldSql = new StringBuilder();
if (StrUtil.isNotBlank(tableInfo.getKeyColumn())) {
fieldSql.append(tableInfo.getKeyColumn()).append(","); fieldSql.append(tableInfo.getKeyColumn()).append(",");
}
tableInfo.getFieldList().forEach(x -> fieldSql.append(x.getColumn()).append(",")); tableInfo.getFieldList().forEach(x -> fieldSql.append(x.getColumn()).append(","));
fieldSql.delete(fieldSql.length() - 1, fieldSql.length()); fieldSql.delete(fieldSql.length() - 1, fieldSql.length());
fieldSql.insert(0, "("); fieldSql.insert(0, "(");