日期:2014-05-20  浏览次数:20638 次

问个JDBC+Mysql的问题,如何让一个进程独有的访问数据库?
我的软件后台有一个mysql数据库,两个不同的java程序通过jdbc来操作这个数据库。一个程序A会定期的去搜集数据并将他们存放于数据库中,这个过程也需要读取一些数据库内容,而另外一个程序B会读取数据库数据来进行业务逻辑相关的操作。

想知道如何确保程序A在更新数据库内容的时候程序B无法去读这个数据?比如当B试图读取的时候失败或者阻塞。

知道的朋友请指点方向,谢谢大家了!!

------解决方案--------------------
我也想知道,帮顶,学习一下~
------解决方案--------------------
在库表中设一个标志位,程序访问前先SELECT标志为,为FALSE则 SLEEP,否则访问置标志位为FALSE 这和JAVA的同步道理差不多吧
------解决方案--------------------
upup
------解决方案--------------------
这个难说....

------解决方案--------------------
方法1)用连接池,只开一个连接,那就只有一个程序得到连接,自然实现互锁;
方法2)只建立一个JDBC连接对象的实例,基本同1)。
方法3)在程序B的前面加入一段判断程序A是否连接数据库的代码,是就暂挂,否就转入主程序。

------解决方案--------------------
和 lixiaoxue85(蛮野蛮) 想得一样,这种方法简便有效