`
郑云飞
  • 浏览: 812585 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis批量导入mysql数据库

阅读更多

工作中需要批量导入excel数据到mysql数据库中

excel数据量比较大,一次大概导入1万多条

用传统的for循环导入mysql数据库的话,非常耗时,大概3分钟左右

所有就需要用到批处理,核心算法如下

 /**
		* 批量插入功能
		*/
	   @SuppressWarnings("unchecked")
	   public void insertBatch(final List<WinddataBo> list) {
		   SqlMapClient sqlMapClientTemplate = baseDao.getSqlMapClient();
		   try {
			   sqlMapClientTemplate.startTransaction();//开启事务
			   /**事务todo start***/
			   /**先执行删除所有**/
			   sqlMapClientTemplate.delete("com.zero2ipo.ylcf.winddata.deleteAll");
			   sqlMapClientTemplate.insert("com.zero2ipo.ylcf.winddata.insertBatch",list);
			   /**事务todo end***/
			   sqlMapClientTemplate.commitTransaction();//提交事务
		   } catch (SQLException e) {
			   e.printStackTrace();
		   }finally {
			   try {
				   sqlMapClientTemplate.endTransaction();//事务完成
			   } catch (SQLException e) {
				   try {
					   sqlMapClientTemplate.getCurrentConnection().rollback();	//事务回滚
				   } catch (SQLException e1) {
					   e1.printStackTrace();
				   }
				   e.printStackTrace();
			   }
		   }

	   }

   ibatis sql文件如下

<!--批量插入-->
<insert  id ="com.zero2ipo.ylcf.winddata.insertBatch"  parameterClass ="java.util.List">
   <![CDATA[
        insert into winddata(CRETE_DATE , SHOUPANJIA , COLUMN1,COLUMN2 ) values
    ]]>
	<iterate  conjunction ="," >
	<![CDATA[
            (#list[].creteDate#,#list[].shoupanjia#,#list[].column1#,#list[].column2#)
        ]]>
	</iterate >
</insert >

 

   

   1次导入excel1万多条数据,耗时大概3秒钟

 

   部分效果图



 

 

 

 

  • 大小: 42 KB
  • 大小: 37.7 KB
  • 大小: 111.7 KB
  • 大小: 43.6 KB
分享到:
评论

相关推荐

    Ibatis结合MySQL数据库的使用方法Demo

    本工程用于研究Ibatis和MySQL结合使用的方法 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` char(36) NOT NULL...

    Ibatis连接MySQL数据库实例

    在本实例中,我们将深入探讨如何使用Ibatis框架与MySQL数据库进行交互。Ibatis是一个优秀的持久层框架,它简化了Java应用与数据库之间的数据操作,避免了传统的JDBC代码繁琐的过程。MySQL则是一款广泛使用的开源关系...

    C#中iBatis连接mySQL使用的DLL

    C#中iBatis连接mySQL使用的DLL

    IBatis查删改查与调用存储过程 mysql数据库

    "IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...

    iBatis教程与代码 mysql数据库

    在本教程中,你将深入理解如何利用iBatis与MySQL数据库进行交互,提升你的软件开发技能。以下是对每个部分的详细解释: 1. **iBatis简介** iBatis是一个基于Java的数据库访问框架,它避免了几乎所有的JDBC代码和...

    Spring、Ibatis结合MySQL数据库的使用方法Demo

    本工程用于研究Spring、Ibatis结合MySQL数据库的使用方法 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; DROP TABLE IF EXISTS `student`; CREATE TABLE `student` ( `id` char...

    ibatis +mysql 实例

    这个"ibatis + mysql 实例"提供了一个具体的案例,演示了如何结合这两个技术进行基本的数据操作,如增、删、改、查。Ibatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句直接写在配置文件中,与传统的JDBC...

    ibatis应对批量update

    ### ibatis应对批量update 在处理大量数据更新时,传统的for循环方式往往会导致效率低下。这是因为每一次循环都需要执行一次数据库连接操作,对于批量更新来说,这样的处理方式显然不够高效。为了解决这个问题,...

    struts spring ibatis mysql 整合 实例 数据库 源码

    Struts、Spring、iBatis和MySQL是Java Web开发中常用的四大框架,它们共同构建了一个高效、灵活且可扩展的应用程序架构。这个整合实例提供了基于这些技术的源码,可以帮助开发者深入理解它们如何协同工作。 Struts...

    如何处理Ibatis结合MySQL数据库使用时的事务操作Demo

    本工程以“银行账号转账”为例子演示了 如何处理Ibatis结合MySQL数据库使用时的事务操作 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; CREATE TABLE `lm_bank_card` ( `id` ...

    IBatis.net 配置各种数据库

    《IBatis.net 配置各种数据库详解》 在软件开发中,数据库的连接与操作是不可或缺的一环。IBatis.net,作为一个轻量级的持久层框架,为开发者提供了灵活的数据映射功能,使得数据库操作变得更为简单。本文将详细...

    Ibatis+MySql(含对应数据库sql) 源码

    通过解压"Ibatis01MySql"这个文件,你可以看到实际的项目结构,包括Ibatis的配置文件、Mapper接口、映射文件以及数据库的SQL脚本。这将帮助你更直观地了解Ibatis是如何与MySql协作的,同时也方便你动手实践,加深...

    ibatis3批量插入

    通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...

    如何处理Spring、Ibatis结合MySQL数据库使用时的事务操作Demo

    本工程以“银行账号转账”为例子演示了如何处理Spring、Ibatis结合MySQL数据库使用时的事务操作 本工程编码方式:UTF-8 须执行的SQL语句: CREATE DATABASE `test`; USE `test`; CREATE TABLE `lm_bank_card` ( `...

    Struts2+Spring2+iBatis2+MySQL的完整示例

    开发环境说明 ...本示例完整地结合Struts2+Spring2+iBatis2+MySQL5,演示了一个用户表的增、删、改、查。 想完整学习Struts2+Spring+iBatis的同仁,可以在这个例子中学习或模仿最基本也是最核心的技术要点。

    ibatis基本操作数据库

    iBatis,全称为MyBatis iBatis,是一个基于Java的持久层框架,它简化了数据库与应用程序之间的交互,避免了直接编写大量的SQL语句和手动处理结果集。在这个过程中,iBatis提供了一个SQL映射框架,允许开发者将SQL...

    ibatis驱动+Mysql驱动+SQL驱动

    结合这三个元素,“ibatis驱动+Mysql驱动+SQL驱动”组合为Java开发者提供了完整的数据库操作解决方案。开发者可以通过Ibatis的API编写SQL,利用MySQL JDBC驱动与数据库建立连接,执行SQL语句,最后通过SQL驱动处理...

    mysql,jdbc详解,与ibatis对比。批量查询,分页处理。

    ### MySQL、JDBC详解及与iBatis对比 ...通过对MySQL的基本操作、JDBC的工作原理以及iBatis与JDBC的对比分析,我们可以更全面地理解数据库编程的关键概念和技术要点。希望本文能够帮助开发者们更加熟练地掌握这些技能。

    asp.net MVC和IBatis.net整合demo数据库部分

    在这个"asp.net MVC和IBatis.net整合demo数据库部分"中,我们主要探讨如何在ASP.NET MVC项目中集成Ibatis.net,实现数据访问层的功能。首先,我们需要安装Ibatis.net相关的NuGet包,这通常可以通过Visual Studio ...

    iBatis与数据库交互

    iBatis是一个优秀的Java持久层框架,它主要负责数据库的交互,通过XML或注解方式配置和映射SQL,使得开发者能够将精力集中在业务逻辑上,而不是繁琐的JDBC代码。iBatis的核心思想是将SQL语句和Java代码分离,提供了...

Global site tag (gtag.js) - Google Analytics