今天测试,150条数据,调用jdbcTemplate.batchUpdate语句时,未开启事务的情况下,6m左右才能执行完,开启事务后,几百毫秒即可执行完,差距是非常大的。

因为是在一个线程池中执行的,所以任务是new出来的,不能作为bean来处理,所以不能使用注入事务的方式,只能手动调用事务管理器。

首先,从bean中获取事务管理器bean

ApplicationContext().getBean(DataSourceTransactionManager.class);

其次,new一个事务定义

DefaultTransactionDefinition def = new DefaultTransactionDefinition();

def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务

开启事务

TransactionStatus status = dataSourceTransactionManager.getTransaction(def); // 获得事务状态

提交事务

dataSourceTransactionManager.commit(status);

回滚事务

dataSourceTransactionManager.rollback(status);

至于事务为何影响这么大,等待以后去研究咯

mysql 插入数据会执行事务吗_在代码中,插入数据到数据库时,如果不使用事务,将会导致速度极慢...相关推荐

  1. pb 修改数据窗口种指定字段位置_在PB中控制 数据窗口 列修改属性.doc

    芬宅皿泽雇松畜站柬莲喀追痢弘翁藐粹顶它旷研擒阵愁檬酥噬镰赔宋全搓昨吉挑衫劣霍侣街允伎削粹海凝剪讳理伞泣簇辛惮对拾精漂详拽汹厌据痹拐幂炭柞戒氖稀配韭炔辑折炎耕瞪拱甲邑并楼蹿学涸混铂饥别公沈协搐絮昧荡碟柿 ...

  2. 用于在MYSQL中创建存储过程的关键字是_下面选项中,用于在删除存储过程时,检测存储过程是否存在的关键字是_学小易找答案...

    [判断题]秦陵兵马俑三号坑设计的是 军事指挥部 . [单选题]以下不是超塑性变形特点的是:( ) [判断题]如果从表中的外键引用了主表中的值,则不能删除主表中被引用的数据. [单选题]下面选项中,用于 ...

  3. java将数据写入csv文件,从csv文件中读取数据

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java将数据写入csv文件,从csv文件中读取数据 测试代码 public static void main(String[] arges){/ ...

  4. php mysql 失败_在php中插入失败的数据mysql

    我需要将记录添加到表'文字'中.正如您在下面的代码中看到的那样,失败会导致消息data insert failed.在php中插入失败的数据mysql 我已经试图改变一切,在线论坛建议,但它没有帮助. ...

  5. spring 事务持久性_项目学生:Spring数据的持久性

    spring 事务持久性 这是Project Student的一部分. 其他职位包括带有Jersey的Webservice Client,带有Jersey的 Webservice Server和业务层 ...

  6. Spark _24 _读取JDBC中的数据创建DataFrame/DataSet(MySql为例)(三)

    两种方式创建DataSet 现在数据库中创建表不能给插入少量数据. javaapi: package SparkSql;import org.apache.spark.SparkConf; impor ...

  7. mysql集群跨地域同步部署_跨地域冗余 - 跨数据中心部署方案 - 《TiDB v2.1 用户文档》 - 书栈网 · BookStack...

    跨数据中心部署方案 作为 NewSQL 数据库,TiDB 兼顾了传统关系型数据库的优秀特性以及 NoSQL 数据库可扩展性,以及跨数据中心(下文简称"中心")场景下的高可用.本文档 ...

  8. mysql传数据到微信小程序_微信小程序直播 数据同步与转存

    本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 本教程所用项目框架为egg ...

  9. 假设mysql数据表t1有字段_使用ROMA Connect集成数据

    概述 ROMA Connect支持接入多种类型的数据源,并通过数据集成任务实现源端到目标端的数据集成转换.ROMA Connect支持相同结构数据之间进行集成转换,也支持异构数据之间进行集成转换. 本 ...

最新文章

  1. Tensorflow nmt源码解析
  2. send()/recv()和write()/read():发送数据和接收数据
  3. mysql const ref_mysql explain详解
  4. FirstLetterUtil
  5. 可工作的软件胜过面面俱到的文档
  6. python之eval函数,map函数,zip函数
  7. 七步从Angular.JS菜鸟到专家(1):如何开始
  8. 重构-改善既有的代码设计-------代码的坏味道
  9. 分贝、声功率级、声强级和声压级
  10. 1.1 linux介绍
  11. 可变参数宏__VA_ARGS__和...
  12. Operations Manager 2007 R2系列之单台服务器拓扑图监控
  13. instagram 爬虫 2021,下载可用
  14. 常用正则表达式匹配Antconc英文句式搭配
  15. openlayers3.0叠加天地图底图及注记后再叠加geoserverWMS服务
  16. 樊登讲亲密关系_《亲密关系》
  17. 苹果手机左上角的数字怎么弄_手把手教你把抖音视频音乐设置为手机铃声。
  18. Hivesql常用优化技巧
  19. juniper防火墙基于路由的IPsec ***配置
  20. 物联网开源工具Unik:用Unikernel提高连接安全性

热门文章

  1. append导致TypeError: 'NoneType' object is not iterable
  2. Java运行时数据区域
  3. 安装Go 1.9.2
  4. MySQL的basedir
  5. EBS_FORM_开发:关于切换不同BLOCK的时候弹出需要保存的窗口
  6. java来做Web Service,用哪个框架最好?
  7. C ~ 指针函数与函数指针的区别
  8. Linux管理员手册
  9. MS Sql中取每个表的大小,行数
  10. 图解如何安装Oracle 10g的