管道基础大数据平台系统开发-【后端】-Server
13693261870
2024-04-22 cc816055746ae0ffa870734e5a411b2a2aabb96a
src/main/java/com/lf/server/extend/InsertBatchMethod.java
@@ -1,7 +1,9 @@
package com.lf.server.extend;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.lf.server.entity.all.StaticData;
import org.apache.ibatis.executor.keygen.NoKeyGenerator;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.SqlSource;
@@ -36,10 +38,15 @@
    private String prepareFieldSql(TableInfo tableInfo) {
        StringBuilder fieldSql = new StringBuilder();
        fieldSql.append(tableInfo.getKeyColumn()).append(",");
        tableInfo.getFieldList().forEach(x -> {
            fieldSql.append(x.getColumn()).append(",");
        });
        // fieldSql.append(tableInfo.getKeyColumn()).append(",")
        // tableInfo.getFieldList().forEach(x -> fieldSql.append(x.getColumn()).append(","))
        for (TableFieldInfo f : tableInfo.getFieldList()) {
            if (StaticData.INSERT_EXCLUDE_FIELDS.contains(f.getProperty())) {
                continue;
            }
            fieldSql.append(f.getColumn()).append(",");
        }
        fieldSql.delete(fieldSql.length() - 1, fieldSql.length());
        fieldSql.insert(0, "(");
@@ -51,8 +58,16 @@
    private String prepareValuesSql(TableInfo tableInfo) {
        final StringBuilder valueSql = new StringBuilder();
        valueSql.append("<foreach collection=\"list\" item=\"item\" index=\"index\" open=\"(\" separator=\"),(\" close=\")\">");
        valueSql.append("#{item.").append(tableInfo.getKeyProperty()).append("},");
        tableInfo.getFieldList().forEach(x -> valueSql.append("#{item.").append(x.getProperty()).append("},"));
        // valueSql.append("#{item.").append(tableInfo.getKeyProperty()).append("},")
        // tableInfo.getFieldList().forEach(x -> valueSql.append("#{item.").append(x.getProperty()).append("},"))
        for (TableFieldInfo f : tableInfo.getFieldList()) {
            if (StaticData.INSERT_EXCLUDE_FIELDS.contains(f.getProperty())) {
                continue;
            }
            valueSql.append("geom".equals(f.getProperty()) ? "${item." : "#{item.").append(f.getProperty()).append("},");
        }
        valueSql.delete(valueSql.length() - 1, valueSql.length());
        valueSql.append("</foreach>");