* @param entityList ignore * @param batchSize ignore * @return ignore */@Transactional(rollbackFor=Exception.class)@OverridepublicbooleansaveBatch(Collection<T>entityList,int batchSize){String sqlStatement=sqlStatement(SqlMethod.INSERT_ONE);int size=entityList.size();executeBatch(sqlSession->{int i...
String tenantIdColumn) { // return TenantLineHandler.super.ignoreInsert(columns, tenantIdColumn);...
publicclassInsertIgnoreBatchAllColumnextendsAbstractMethod{ /** * mapper 对应的方法名 */ privatestaticfinalStringMAPPER_METHOD="insertIgnoreBatchAllColumn"; /** * 字段筛选条件 */ @Setter @Accessors(chain=true) privatePredicate<TableFieldInfo>predicate; @SuppressWarnings("Duplicates") @Override publicMa...
首先我们创建classInsertIgnore,定义方法名称和对应生成SQL的模板,这里我使用kotlin编写,大家可以转成对应的java class import com.baomidou.mybatisplus.annotation.IdType import com.baomidou.mybatisplus.core.injector.AbstractMethod import com.baomidou.mybatisplus.core.metadata.TableInfo ...
insert ignorereplace intoinsert on duplicate key update 这里不展开介绍,大家可以自行查看: https://blog.csdn.net/weixin_42506706/article/details/113301248 四、通过SQL注入器实现真正的批量插入 通过SQL注入器sqlInjector 增加批量插入方法InsertBatchSomeColumn的过程如下: ...
(value = "create_time", fill = FieldFill.INSERT)privateDate createTime;@Schema(description = "更新时间")@JsonIgnore@TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)privateDate updateTime;@Schema(description = "逻辑删除")@JsonIgnore@TableLogic@TableField("is_deleted")private...
* @return ignore */@Transactional(rollbackFor=Exception.class)@Overridepublic booleansaveBatch(Collection<T>entityList,int batchSize){String sqlStatement=getSqlStatement(SqlMethod.INSERT_ONE);returnexecuteBatch(entityList,batchSize,(sqlSession,entity)->sqlSession.insert(sqlStatement,entity));} ...
除了可以指定IGNORE关键字以外,还可以加上 ON DUPLICATE KEY UPDATE 表示重复的话执行update语句 详见https://dev.mysql.com/doc/refman/8.0/en/insert.html 3. 批量插入的数据条数有没有限制 条数没有限制,但是发送给MySQL服务器的SQL语句大小有限制,默认是4M。因此,一次批量插多少条取决于每一条数据有多大。
if (InterceptorIgnoreHelper.willIgnoreTenantLine(ms.getId())) { return; } PluginUtils.MPBoundSql mpBs = mpSh.mPBoundSql(); mpBs.sql(parserMulti(mpBs.sql(), null)); } @Override protected void processSelect(Select select, int index, String sql, Object obj) { ...