如果把Connection的AutoCommit设为False,两次executeQuery之间,通过其它途径(我通过Navicat)修改了status值为1,第二次executeQuery依然把那条数据读出来了,也就是说,我在Navicat中的操作就像没有发生一样,需要重新连接或者con.commit()一下才能读到。猜测可能是事务的隔离级别造成的。

con.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);

不允许脏读,果然OK了,这种情况平时还是要注意一下的

  1. Connection con = DriverManager
  2. .getConnection(
  3. "jdbc:mysql://localhost/spider?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true",
  4. "root", "111111");
  5. con.setAutoCommit(false);
  6. Statement stmt = null;
  7. ResultSet rs = null;
  8. try {
  9. stmt = con.createStatement();
  10. rs = stmt.executeQuery("select * from queue where status="
  11. + String.valueOf(0));
  12. while (rs.next()) {
  13. String url = rs.getString("url");
  14. System.out.println(url);
  15. }
  16. } catch (SQLException e) {
  17. e.printStackTrace();
  18. } finally {
  19. if (stmt != null) {
  20. try {
  21. stmt.close();
  22. } catch (SQLException e) {
  23. e.printStackTrace();
  24. }
  25. }
  26. }
  27. Thread.sleep(15000); //等待的时候在navicat中修改数据的status=1
  28. System.out.println("next");
  29. try {
  30. stmt = con.createStatement();
  31. rs = stmt.executeQuery("select * from queue where status="
  32. + String.valueOf(0));
  33. while (rs.next()) {
  34. String url = rs.getString("url");
  35. System.out.println(url);
  36. }
  37. } catch (SQLException e) {
  38. e.printStackTrace();
  39. } finally {
  40. if (stmt != null) {
  41. try {
  42. stmt.close();
  43. } catch (SQLException e) {
  44. e.printStackTrace();
  45. }
  46. }
  47. }

本文转自 dogegg250 51CTO博客,原文链接:http://blog.51cto.com/jianshusoft/765736,如需转载请自行联系原作者

setAutoCommit(false)导致读不到数据相关推荐

  1. MEION:QAM仿真j时读不到数据的原因分析

    Q: 老师您好,我最近在学习16qam调制解调,阅读了您的书籍数字调制解调技术.我在运行第八章第二个实例时,得到的modelsim结果和书上不一样,如果您有空的话请指出我哪里出问题了,谢谢. A: 从 ...

  2. 导致loadJson读不了数据的一个bug

    导致loadJson读不了数据的一个bug 使用loadJson载入JSON数据的时候,有用了一行代码 var jsdata=Cesium.loadJson("data/before_out ...

  3. getprivateprofilestring读不到数据_SpringBoot2.x系列教程66--Spring Boot整合分布式事务之数据库事务回顾

    SpringBoot2.x系列教程66--Spring Boot整合分布式事务之数据库事务回顾 作者:一一哥 本节主要内容 一. 事务出现的原因 转账是生活中常见的操作,比如从A账户转账100元到B账 ...

  4. 一文读懂大数据平台——写给大数据开发初学者的话!

     一文读懂大数据平台--写给大数据开发初学者的话! 文|miao君 导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hado ...

  5. getprivateprofilestring读不到数据_Tomcat NIO(11)请求数据读取

    在上一篇文章里我们主要介绍了 tomcat io 线程中涉及到的主要核心类,包括 AbstractProcessorLight,Http11Processor,CoyoteAdapter,这里主要介绍 ...

  6. 一纸读懂另类数据 | 未央研究

    一纸读懂另类数据 | 未央研究 未央研究 清华大学五道口金融学院 今天 什么是另类数据? 1.定义 另类数据(Alternative Data)是不同于传统的交易所披露.公司公告披露的新数据,是有利于 ...

  7. USBHID-BUS Hound能抓到数据但上位机读不到数据

    调试USBHID设备的时候,遇到一个问题,BUSHound能正确抓到下位机上传的的数据,但是使用其他上位机却读不到数据,甚至会崩溃. 当然,自然而然地怀疑有可能是上位机的问题,可靠的排查方法当然是要排 ...

  8. 读懂这些数据,让你的简历有回应

    读懂这些数据,让你的简历有回应 --简历投递行为习惯调查 简历--求职的敲门砖.有的人一敲门就有回应,有的人敲到砖都碎了却无人应答.当然,这和砖头本身的质量有关,也和敲门人的技术有关.又到求职黄金季, ...

  9. 直接修改html文本页面没变化,VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析...

    本文实例讲述了VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法.分享给大家供大家参考,具体如下: 业务场景 我们在使用vue 编写 代码时,我们有一个 多行文本框控件,希望在页面 ...

最新文章

  1. Myeclise下tomcat启动报错,启动超时
  2. Java并发工具类Semaphore应用实例
  3. localstorage的应用,对js进行缓存
  4. gym/100633/J Ceizenpok’s formula
  5. Java web 三大框架异常学习总结
  6. boost::mp11::mp_max_element相关用法的测试程序
  7. STL源码剖析 关联式容器
  8. 坐标北京,Paddle Lite​ 线下交流会,助力算法落地​
  9. vue基础4——自定义指令
  10. 每天一个linux命令(28):diff 命令
  11. 图像分割(一):K-means聚类算法
  12. 用python读取图像_如何用python获取图像
  13. Practical Node.js摘录(2018版)第1,2章。
  14. Atitit 图像资料文档分类器 netpic image 网络图片与人像图片分类 微信图片分类 D:\0workspace\atiplat_img\src\com\attilax\img\ut
  15. 我的团长我的团分集剧情介绍
  16. 十个程序员必备的网站推荐
  17. Graph Stacked Hourglass Networks for 3D Human Pose Estimation
  18. archlinux音量管理
  19. 5G工业路由器与4G无线路由器各自有何优缺点
  20. “StarRocks 极客营” 重磅来袭,和技术大牛一起推开数据库梦想之门!

热门文章

  1. netflix 工作原理_Netflix如何在屏幕后面工作?
  2. 2022,前端工具链十年盘点
  3. Chrome OS 设备或将允许用户自行选择 Linux 发行版
  4. 转:shell awk
  5. tomcat限制用域名访问 禁止 ip访问
  6. 《树莓派渗透测试实战》——2.12 用例子总结以上步骤
  7. 判断一个字符串是否为另外一个字符串旋转之后的字符串。
  8. eclise配置tomcat出现服务Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4 and Java EE 5 Web modules...
  9. 《程序员》杂志2011年第5期.pdf 下载链接 首发。
  10. [music]Canon and Gigue in D major