setAutoCommit(false)导致读不到数据
如果把Connection的AutoCommit设为False,两次executeQuery之间,通过其它途径(我通过Navicat)修改了status值为1,第二次executeQuery依然把那条数据读出来了,也就是说,我在Navicat中的操作就像没有发生一样,需要重新连接或者con.commit()一下才能读到。猜测可能是事务的隔离级别造成的。
con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
不允许脏读,果然OK了,这种情况平时还是要注意一下的
- Connection con = DriverManager
- .getConnection(
- "jdbc:mysql://localhost/spider?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true",
- "root", "111111");
- con.setAutoCommit(false);
- Statement stmt = null;
- ResultSet rs = null;
- try {
- stmt = con.createStatement();
- rs = stmt.executeQuery("select * from queue where status="
- + String.valueOf(0));
- while (rs.next()) {
- String url = rs.getString("url");
- System.out.println(url);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- Thread.sleep(15000); //等待的时候在navicat中修改数据的status=1
- System.out.println("next");
- try {
- stmt = con.createStatement();
- rs = stmt.executeQuery("select * from queue where status="
- + String.valueOf(0));
- while (rs.next()) {
- String url = rs.getString("url");
- System.out.println(url);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
本文转自 dogegg250 51CTO博客,原文链接:http://blog.51cto.com/jianshusoft/765736,如需转载请自行联系原作者
setAutoCommit(false)导致读不到数据相关推荐
- MEION:QAM仿真j时读不到数据的原因分析
Q: 老师您好,我最近在学习16qam调制解调,阅读了您的书籍数字调制解调技术.我在运行第八章第二个实例时,得到的modelsim结果和书上不一样,如果您有空的话请指出我哪里出问题了,谢谢. A: 从 ...
- 导致loadJson读不了数据的一个bug
导致loadJson读不了数据的一个bug 使用loadJson载入JSON数据的时候,有用了一行代码 var jsdata=Cesium.loadJson("data/before_out ...
- getprivateprofilestring读不到数据_SpringBoot2.x系列教程66--Spring Boot整合分布式事务之数据库事务回顾
SpringBoot2.x系列教程66--Spring Boot整合分布式事务之数据库事务回顾 作者:一一哥 本节主要内容 一. 事务出现的原因 转账是生活中常见的操作,比如从A账户转账100元到B账 ...
- 一文读懂大数据平台——写给大数据开发初学者的话!
一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...
- getprivateprofilestring读不到数据_Tomcat NIO(11)请求数据读取
在上一篇文章里我们主要介绍了 tomcat io 线程中涉及到的主要核心类,包括 AbstractProcessorLight,Http11Processor,CoyoteAdapter,这里主要介绍 ...
- 一纸读懂另类数据 | 未央研究
一纸读懂另类数据 | 未央研究 未央研究 清华大学五道口金融学院 今天 什么是另类数据? 1.定义 另类数据(Alternative Data)是不同于传统的交易所披露.公司公告披露的新数据,是有利于 ...
- USBHID-BUS Hound能抓到数据但上位机读不到数据
调试USBHID设备的时候,遇到一个问题,BUSHound能正确抓到下位机上传的的数据,但是使用其他上位机却读不到数据,甚至会崩溃. 当然,自然而然地怀疑有可能是上位机的问题,可靠的排查方法当然是要排 ...
- 读懂这些数据,让你的简历有回应
读懂这些数据,让你的简历有回应 --简历投递行为习惯调查 简历--求职的敲门砖.有的人一敲门就有回应,有的人敲到砖都碎了却无人应答.当然,这和砖头本身的质量有关,也和敲门人的技术有关.又到求职黄金季, ...
- 直接修改html文本页面没变化,VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析...
本文实例讲述了VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法.分享给大家供大家参考,具体如下: 业务场景 我们在使用vue 编写 代码时,我们有一个 多行文本框控件,希望在页面 ...
最新文章
- Myeclise下tomcat启动报错,启动超时
- Java并发工具类Semaphore应用实例
- localstorage的应用,对js进行缓存
- gym/100633/J Ceizenpok’s formula
- Java web 三大框架异常学习总结
- boost::mp11::mp_max_element相关用法的测试程序
- STL源码剖析 关联式容器
- 坐标北京,Paddle Lite​ 线下交流会,助力算法落地​
- vue基础4——自定义指令
- 每天一个linux命令(28):diff 命令
- 图像分割(一):K-means聚类算法
- 用python读取图像_如何用python获取图像
- Practical Node.js摘录(2018版)第1,2章。
- Atitit 图像资料文档分类器 netpic image 网络图片与人像图片分类 微信图片分类 D:\0workspace\atiplat_img\src\com\attilax\img\ut
- 我的团长我的团分集剧情介绍
- 十个程序员必备的网站推荐
- Graph Stacked Hourglass Networks for 3D Human Pose Estimation
- archlinux音量管理
- 5G工业路由器与4G无线路由器各自有何优缺点
- “StarRocks 极客营” 重磅来袭,和技术大牛一起推开数据库梦想之门!
热门文章
- netflix 工作原理_Netflix如何在屏幕后面工作?
- 2022,前端工具链十年盘点
- Chrome OS 设备或将允许用户自行选择 Linux 发行版
- 转:shell awk
- tomcat限制用域名访问 禁止 ip访问
- 《树莓派渗透测试实战》——2.12 用例子总结以上步骤
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。
- eclise配置tomcat出现服务Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4 and Java EE 5 Web modules...
- 《程序员》杂志2011年第5期.pdf 下载链接 首发。
- [music]Canon and Gigue in D major