naifenmumu 2010-11-21 22:02
浏览 172
已采纳

请教:java 线程中队数据库进行操作,程序返回值显示成功,单实际未成功

问题描述:
近些天公司要让我完成一个导数的模块。我写了一个导数的类AssetImpThread 实现了 Runnable接口。
类有一个 初始化方法 init() 调用了 一个利用 jndi连接对数据进行操作的类.

我已经 对 进行数据库操作的类进行了测试(main方法中 建立一个jndi的连接),数据库操作类正常运行。
然后我对线程进行测试,奇怪的事情发生了,
测试类的main() 方法中建立数据库连接, 启动线程,调用线程的init()方法,对数据进行操作。

利用 PreparedStatement 进行插入操作的时候,返回值为1(插入了一条数据),返回值正确。
但是实际没有插入值,我经过多次测试都是这样。

而且我这是循环插入,每插入一条,都会再次去取到 本表的 已有数据的数量。
插入过程中 数量是增加的。
但是实际中没有插入数据。

  • 写回答

3条回答 默认 最新

  • ethenjean 2010-11-22 08:40
    关注

    可能要显示的调用commit来提交事务。另外lz有没有考虑过线程同步的问题,及数据库的事务管理?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?