`

mybatis插入多条数据,若数据库中存在则更新,若无则插入

 
阅读更多

        mybatis插入多条数据,若数据库中存在则更新,若无则插入,具体实例如下:

其中pro_id,day_date为唯一索引

insert into pro(
                        pro_id,
			day_date,
			price,		
			remark
		) values 
		<foreach item="item" index="index" collection="list" 
			separator=",">
			(
			 #{item.proId,jdbcType=NUMERIC}  ,
			str_to_date( #{item.dayDate,jdbcType=DATE} , '%Y-%m-%d %h:%i:%s') ,
			 #{item.price,jdbcType=DECIMAL}  ,
			 #{item.remark,jdbcType=VARCHAR}  
			)
		</foreach>
		ON DUPLICATE KEY UPDATE  
			price = VALUES(price),
			remark = VALUES(remark)

 

分享到:
评论

相关推荐

    Mybatis与JDBC批量插入MySQL数据库性能测试

    在批量插入场景下,JDBC提供了Statement对象的addBatch()和executeBatch()方法,可以将多条插入语句一次性提交,减少与数据库的交互次数,从而提高效率。 Mybatis是一个轻量级的持久层框架,它简化了JDBC的复杂性,...

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    1. **批量插入(Batch Insertion)**:Mybatis支持批处理,可以一次性提交多条SQL语句,减少与数据库的交互次数,提高效率。在Mybatis的映射文件中,可以通过`&lt;insert&gt;`标签的`useGeneratedKeys`和`keyProperty`属性...

    mybatis 批量将list数据插入到数据库的实现

    在实际开发中,我们经常需要将大量数据批量插入到数据库中,MyBatis提供了多种方式来实现这一功能。本文将主要介绍MyBatis批量将List数据插入到数据库的实现。 在MyBatis中,我们可以使用foreach语句来批量插入数据...

    mybaits 多线程 实现数据批量插入 (运用CountDownLatch实现闭锁)

    MyBatis的批处理功能允许我们在一次数据库连接中执行多条SQL语句,从而减少了数据库连接的创建和关闭的开销,提高了性能。批处理可以通过设置`Statement`的`setFetchSize()`方法或者MyBatis的`@BatchResultSet`注解...

    spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库.zip

    在本项目中,"spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据...

    Mybatis 3+Mysql 实现批量插入

    在IT领域,尤其是在数据库操作与框架应用中,批量插入数据是一项常见且重要的需求。相比于单条插入,批量插入能够显著提升数据处理效率,减少数据库I/O操作,从而提高整体性能。本文将深入探讨如何利用MyBatis框架...

    在IDEA中通过MyBatis框架访问达梦数据库

    ### 在IDEA中通过MyBatis框架访问达梦数据库 #### 实验背景与目标 随着企业级应用的不断发展,数据库的高效访问与管理成为软件开发过程中不可或缺的一部分。**MyBatis**作为一款优秀的持久层框架,它支持定制化SQL...

    MyBatis批量插入Update

    MyBatis批量插入是一种高效的数据插入方式,通过将多条数据一次性插入数据库,可以大大提高插入速度。在实际测试中,使用MyBatis批量插入可以达到至少快一倍的执行效率。 MyBatis批量插入的实现可以通过使用foreach...

    Mybatis实现一对一,一对多数据插入数据实验报告.docx

    【Mybatis实现一对一,一对多数据插入数据】 在软件开发中,尤其是在涉及到数据库操作时,数据关系的处理是非常关键的一部分。Mybatis,一个优秀的持久层框架,提供了方便的方式来处理复杂的数据关系,包括一对一和...

    Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例

    Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例 Mybatis 是一个基于 Java 的持久层框架,它提供了对数据库的访问和操作的功能。今天,我们将分享一个关于 Mybatis 插入一条或批量插入 返回带有自增长...

    最新Mybatis插入数据返回自增主键详细配置

    Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入数据返回的自增主键会自动设置...

    mybatis数据操作(增删改查+批量操作)

    3. **更新操作(Update)**:更新数据涉及到修改已有记录,MyBatis允许你在Mapper接口中定义一个更新方法,在XML配置文件中写好SQL更新语句,使用`&lt;update&gt;`标签。更新操作通常需要指定更新条件,确保只修改特定的...

    mybatisr代码生成插件(中文注释,生成批量插入及修改)

    实体类用于封装数据库表中的行数据,Mapper接口则定义了与数据库交互的操作,而XML映射文件则是SQL语句的配置,用于指定如何在数据库中执行CRUD(Create、Read、Update、Delete)操作。 在这个自定义版中,中文注释...

    mybatis批量添加数据的方法1

    foreach标签可以将一个集合对象拆分成多个单独的元素,然后将其插入到数据库中。 例如,我们可以定义一个接口`addPersons`,它接受一个List类型的参数`persons`: ```java public int addPersons(@Param("persons")...

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    EasyExcel提供了一个`executeBatchInsert`方法,可以配合JDBC或其他ORM框架如MyBatis,将数据批量插入到数据库。首先,我们需要将读取到的数据保存在一个集合中,然后调用`executeBatchInsert`,传入集合和插入SQL...

    Python3 操作 MySQL 插入一条数据并返回主键 id的实例

    最后,文章总结了该实例对于Python3操作MySQL数据库插入数据并获取主键id的实践价值,并鼓励大家进行学习和参考,同时建议对于多线程并发操作的场景,应当考虑使用多进程来保证数据的一致性和操作的安全性。...

    java快速插入千万级数据

    java快速插入千万级数据,亲测91秒插入1700万数据!!!

    很实用的端口接收数据并存储到数据库中的程序

    例如,如果一次接收的数据包含多条记录,那么在所有记录都成功插入数据库之前,不应提交任何更改。此外,为了处理并发连接,程序可能需要设计成多线程或异步处理模式,以提高服务的可扩展性。 在压缩包中的"Socket...

    mybatis的oracle的批量插入优化和mybatis的generator自动生成三层文件

    本文将详细探讨如何在Oracle数据库中进行批量插入优化,并介绍MyBatis Generator这一自动化代码生成工具,以提高开发效率。 首先,让我们深入理解Oracle数据库中的批量插入。批量插入可以显著提升性能,尤其是在...

Global site tag (gtag.js) - Google Analytics