| | |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.core.enums.SqlMethod; |
| | | import com.baomidou.mybatisplus.core.injector.AbstractMethod; |
| | | import com.baomidou.mybatisplus.core.metadata.TableInfo; |
| | | import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; |
| | |
| | | final String fieldSql = prepareFieldSql(tableInfo); |
| | | final String valueSql = prepareValuesSqlForMysqlBatch(tableInfo); |
| | | KeyGenerator keyGenerator = new NoKeyGenerator(); |
| | | SqlMethod sqlMethod = SqlMethod.INSERT_ONE; |
| | | String sqlMethod = "insertAll"; |
| | | String keyProperty = null; |
| | | String keyColumn = null; |
| | | // 表包含主键处理逻辑,如果不包含主键当普通字段处理 |
| | |
| | | keyColumn = tableInfo.getKeyColumn(); |
| | | } else { |
| | | if (null != tableInfo.getKeySequence()) { |
| | | keyGenerator = TableInfoHelper.genKeyGenerator(getMethod(sqlMethod), tableInfo, builderAssistant); |
| | | keyGenerator = TableInfoHelper.genKeyGenerator(sqlMethod, tableInfo, builderAssistant); |
| | | keyProperty = tableInfo.getKeyProperty(); |
| | | keyColumn = tableInfo.getKeyColumn(); |
| | | } |
| | |
| | | } |
| | | final String sqlResult = String.format(sql, tableInfo.getTableName(), fieldSql, valueSql); |
| | | SqlSource sqlSource = languageDriver.createSqlSource(configuration, sqlResult, modelClass); |
| | | return this.addInsertMappedStatement(mapperClass, modelClass, "insertAll", sqlSource, keyGenerator, keyProperty, keyColumn); |
| | | return this.addInsertMappedStatement(mapperClass, modelClass, sqlMethod, sqlSource, keyGenerator, keyProperty, keyColumn); |
| | | } |
| | | |
| | | private String prepareFieldSql(TableInfo tableInfo) { |