`
hanbin51987
  • 浏览: 47162 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

批量更新或者插入

    博客分类:
  • java
阅读更多

不废话,直接上代码

给自己做记录

 import org.springframework.jdbc.core.BatchPreparedStatementSetter;
  


 /**
	 * 批量更新或者插入
            * 参数:sql为更新或者插入语句  list 是要进行批量处理的数据集合
            * msg 是定位是插入还是更新, username可不考虑 业务需要
	 */
	public String updateprojectdata(String sql, List list, String msg,String Username) {
		JdbcTemplate jdbctemplate = getJdbcTemplate();
		int[] sucess = jdbctemplate.batchUpdate(sql,
				new MyBatchPreparedStatementSetter(list,msg,Username));
		if (sucess.length == 0) {
			return "导入失败";
		} else {
			return "导入成功";
		}
	}
 
 /**
	 * 处理批量插入或更新的回调类
            * 
	 */
	private class MyBatchPreparedStatementSetter implements
			BatchPreparedStatementSetter {
		final List temList;

		final String msg;
		
		final String Username;

		/** 通过构造函数把要插入的数据传递进来处理 */
		public MyBatchPreparedStatementSetter(List list, String msg,String Username) {
			temList = list;
			this.msg = msg;
			this.Username=Username;
		}

		public int getBatchSize() {
			return temList.size();
		}

		public void setValues(PreparedStatement ps, int i) throws SQLException {
			ProjectData pd = (ProjectData) temList.get(i);
			if (msg.equals("insert")) {
				ps.setInt(1, pd.getI_cid().intValue());
				ps.setString(2, pd.getI_subcomp_id());
			} else if (msg.equals("update")) {
				ps.setString(1, pd.getI_country_id());
				ps.setString(2, pd.getV_cellname_cn());

			}
		}
	}
分享到:
评论

相关推荐

    MongoDB 批量插入及更新

    例如,在数据迁移、日志记录或者数据分析等场景下,单个地插入或更新文档会极大地降低系统的整体性能。因此,MongoDB提供了批量操作的功能,能够一次性处理多个文档的插入或更新,显著提高操作效率。 #### 三、...

    Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)

    在实际的项目开发中,批量插入和批量更新是常见的数据处理场景,尤其是在处理大量数据时,能够显著提升效率。本文将深入探讨如何在 Mybatis Plus 中自定义批量插入和批量更新,并根据唯一索引来确保数据的唯一性。 ...

    高效批量插入和更新

    C#批量插入,更新ORACLE 保存100万条数据大概3-5秒 保存或者更新100万条数据大概20秒 DataTable保存100万条数据大概1-2分钟 可能因环境原因时间有差异,不过可以看出性能还是很大提升的

    oracle ODP.NET 批量插入或更新

    ### Oracle ODP.NET 批量插入或更新技术详解 #### 一、背景介绍 在数据库操作中,批量处理数据是一项非常重要的技术。特别是在处理大量数据时,如何高效地执行批量插入或更新操作对于提高应用程序性能至关重要。...

    PostgreSQL实现批量插入、更新与合并操作的方法

    前言 就在 2019 年 1 月份微软收购了 PostgreSQL 数据库的初创公司 CitusData, 在云数据库方面可以增强与 AWS 的竟争。AWS 的 RDS 两大开源数据库就是 MySQL(Aurora 和 MariaDB 是它的变种) 和 PostgreSQL。...

    Mybatis 3+Mysql 实现批量插入

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

    odbc 数据库批量插入操作

    本话题将深入探讨如何使用ODBC进行数据库的批量插入操作,并与单条更新操作进行对比,展示其性能优势。 首先,了解ODBC的基本原理:ODBC驱动程序管理器作为桥梁,连接应用程序和数据库驱动。应用程序通过ODBC API...

    CAD批量插入正射影像

    2. 设置参数:安装完成后,在CAD菜单栏中找到新添加的工具条或选项,这里可能有“批量插入”或者“导入”等选项。点击进入设置界面,配置插入图像的参数,如插入点(通常选择图纸的原点或指定位置)、比例因子(控制...

    jdbc批量插入大字段

    因此,"jdbc批量插入大字段"这个话题旨在探讨如何高效地通过Java JDBC来实现Blob字段的批量插入,以提高性能。 首先,我们需要了解JDBC(Java Database Connectivity),它是Java编程语言与各种数据库之间通信的...

    mysql 批量更新及效率对比

    MySQL 批量更新的高效方法 MySQL 批量更新是指在 MySQL 数据库中批量更新多条记录的操作。这种操作在实际应用中非常常见,例如批量更新用户信息、订单状态等。然而,批量更新的效率问题一直是一个棘手的问题。近期...

    Delphi批量插入数据库数据..rar

    或者使用批量插入数据的特定数据库特性,如MySQL的LOAD DATA INFILE。 以上就是使用Delphi批量插入数据库数据的一些关键知识点。具体到压缩包中的代码fans.net文件,可能是提供示例代码的网站链接,你可以访问该...

    批量插入大量数据

    批量插入是将多个INSERT语句合并成一个大的INSERT语句,或者通过编程语言提供的API一次性提交多行数据。这样可以减少与数据库服务器之间的交互次数,从而提高性能。例如,在SQL中,你可以使用`INSERT INTO table_...

    jdbc-批量插入数据

    对于大型数据集,可能需要考虑使用数据库特定的批量插入优化,例如MySQL的LOAD DATA INFILE命令,或者通过BULK INSERT在SQL Server中进行批量导入。这些方法通常比JDBC的批量处理更快,但不适用于所有情况。 在实际...

    gorm-bulk-insert:使用gorm实现BulkInsert

    Gorm Bulk Insert是一个使用实现批量插入/更新Gorm Bulk Insert的库。 目的 保存批量记录 安装 $ go get github.com/sunary/gorm-bulk-insert 这个库依赖于 gorm,除非你已经安装了 gorm,否则下面的命令也是必要的...

    TXT批量插入者

    "TXT批量插入者"是一款专为处理TXT文本文件设计的工具,它的主要功能是帮助用户高效地在大量文本文件中批量插入链接或者替换特定的关键词。这个程序对于那些需要对大量TXT文档进行统一编辑,比如添加版权信息、链接...

    c# 对sqlite基本操作,带批量插入(百万级秒插)

    在本文中,我们将深入探讨如何使用C#进行SQLite的基本操作,特别是关注批量插入功能,这在处理大量数据时尤其有用,如标题所述,可以实现百万级数据的秒级插入。SQLite是一个轻量级的数据库引擎,它允许在无需服务器...

    批量插入数据到Oracle数据库Demo

    确保所有插入都成功,或者在失败时能够回滚到一致状态。 8. **性能优化**:为了最大化批量插入的性能,可能需要调整数据库的参数,如加大批处理大小,优化表空间,以及考虑索引的使用等。 9. **安全实践**:在进行...

    java批量插入Oracle数据方法

    - **事务管理**:确保在执行批量插入前开启事务,在成功插入所有数据后提交事务,或者在发生错误时回滚事务,以保持数据的一致性。 - **异常处理**:在批量插入过程中,应妥善处理可能出现的任何异常,例如数据库...

    ASPNET批量更新

    考虑到批量更新可能引发的锁竞争,可以调整SQL查询,如避免全表扫描,使用索引,或者在低并发时段执行更新操作。 9. 批量删除: 除了更新,批量删除也是常见的需求。这可以通过类似的方式实现,如执行单个删除...

    文本批量插入链接

    【标题】:“文本批量插入链接”这一主题主要涉及的是在大量文本内容中自动化地添加超链接,这在网站管理、内容发布或者SEO优化等场景中非常常见。批量处理文本能够大大提高工作效率,尤其对于那些需要对文章库进行...

Global site tag (gtag.js) - Google Analytics