社区
Web 开发
帖子详情
jdbc如何实现事务处理?(例如先进行读取在进行修改能在一个事务里)
bbl198486
2009-03-23 05:38:09
jdbc如何实现事务处理?(例如先进行读取在进行修改能在一个事务里)
...全文
967
16
打赏
收藏
jdbc如何实现事务处理?(例如先进行读取在进行修改能在一个事务里)
jdbc如何实现事务处理?(例如先进行读取在进行修改能在一个事务里)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2009-04-01
打赏
举报
回复
已经给你讲了具体的原理和步骤了,我认为这些比代码更重要。
参考这本书:
http://www.oreilly.com.cn/book.php?bn=7-5083-3099-4
火龙果被占用了
2009-03-31
打赏
举报
回复
当然有办法了,Spring 中的事务控制也是 Java 开发的。
如果使用 JDBC 控制事物的话,首先要确定事务的边界是在 DAO 层还是在业务层。
如果事务边界在 DAO 层的话,那很好处理,直接使用 Connection 的事务处理方法。
如果事务边界在业务层,那就比较麻烦,因为一个业务方法会调用一个或多个 DAO 中的方法完成一个事务,
我们必须把这几个 DAO 方法纳入一个事务之中,这在 J2EE 设计中称为事务上下文模式。
事务上下文模式一般采用 ThreadLocal 将数据库连接对象绑定在当前的请求线程中,DAO 中的连接对象
从 ThreadLocal 中获得,DAO 中不能执行 con.close 方法。另外业务方法采用动态代理将其改写,把
Connection 对象的事务处理切入到方法中,也就是在方法执行前开启事务,执行完后提交事务,如果其
中产生异常则回滚事务。
bbl198486
2009-03-31
打赏
举报
回复
[Quote=引用 12 楼 bao110908 的回复:]
当然有办法了,Spring 中的事务控制也是 Java 开发的。
如果使用 JDBC 控制事物的话,首先要确定事务的边界是在 DAO 层还是在业务层。
如果事务边界在 DAO 层的话,那很好处理,直接使用 Connection 的事务处理方法。
如果事务边界在业务层,那就比较麻烦,因为一个业务方法会调用一个或多个 DAO 中的方法完成一个事务,
我们必须把这几个 DAO 方法纳入一个事务之中,这在 J2EE 设计中称为事务上下文模式。
事…
[/Quote]
情问你有没有这方面的详细材料或者demo?
cnidb
2009-03-31
打赏
举报
回复
支持12楼
火龙果被占用了
2009-03-31
打赏
举报
回复
如果设计优良的话完全能够做到像 Spring、EJB 中的事务处理不侵入到业务逻辑处理当中去。
bbl198486
2009-03-30
打赏
举报
回复
我第一人选择相同条件的 的两行 我用 rownum <=2去取 第二个人再去取两个或者更多怎么办? 我如果rownum <=2第一个人查看的因为锁了肯定看不到 我希望他能跳过 这两句再去读 2条或者更多因为每次数量是不固定的所以 想问问有啥办法?
酒浪子
2009-03-30
打赏
举报
回复
学习!
xingbozy
2009-03-30
打赏
举报
回复
建表时行加锁
emon123
2009-03-28
打赏
举报
回复
[Quote=引用 7 楼 ChDw 的回复:]
引用 5 楼 bbl198486 的回复:
我想只用 jdbc实现 多表之前操作的 事务处理 有没有办法?
楼主不过是事务而已,有必要Spring、Hibernate都一定要上吗?
conn.setAutoCommit(false);
...
conn.commit();//或者conn.rollback();
conn.setAutoCommit(true);
你可以select for update来保证数据更新
[/Quote]
正解!~~~
ChDw
2009-03-27
打赏
举报
回复
[Quote=引用 5 楼 bbl198486 的回复:]
我想只用 jdbc实现 多表之前操作的 事务处理 有没有办法?
[/Quote]
楼主不过是事务而已,有必要Spring、Hibernate都一定要上吗?
conn.setAutoCommit(false);
...
conn.commit();//或者conn.rollback();
conn.setAutoCommit(true);
你可以select for update来保证数据更新
bbl198486
2009-03-27
打赏
举报
回复
就是保证 先去查询一些数据 然后对这些数据修改 这个之间保证 在一个事务中 不会让别人 查看到 脏数据
bbl198486
2009-03-26
打赏
举报
回复
我想只用 jdbc实现 多表之前操作的 事务处理 有没有办法?
ldxfsh
2009-03-24
打赏
举报
回复
只要你不commit就是在一个事务里,一旦用了commit,该事务就结束
xingbozy
2009-03-24
打赏
举报
回复
数据在进行读取(查询)的时候可以不用事务,但如果你不想读取脏数据时,可以加锁(对于Hibernate的方法是用lock,这个方式你可以查一下,因为jdbc是Hibernate的根本),而对于update或是save,delete的时候是需要用到事务的.JDBC默认事务处理是false,那么在用的时候,可以根据你的要求或是进行commit(),或是不用.
bbl198486
2009-03-24
打赏
举报
回复
要是不用 真的没办法了吗?
NonActive
2009-03-23
打赏
举报
回复
使用Spring框架吧,Spring框架支持事物处理的。
JDBC
事务
处理
JDBC
事务
处理
1、数据库
事务
的描述
事务
:一组逻辑操作单元,使数据从一种状态变换到另一种状态。
事务
处理
(
事务
操作):保证所有
事务
都作为
一个
工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在...
JDBC
编程之
事务
处理
所谓
事务
,是
一个
操作序列,这些操作要么都执行,要么都不执行,是
一个
不可分割的工作单位
事务
也是数据库维护数据一致性的单位,在每个
事务
结束时,都能保持数据的一致性在编程中,可以把数据库
事务
看做是一组 SQL ...
(四十六)
JDBC
处理
事务
采用什么方法
一个
事务
由一条或多条对数据库操作的SQL语句所组成的
一个
不可分割的工作单元,只有当
事务
中的所有操作都正常执行完毕了,整个
事务
才会被提交给数据库。 在
JDBC
中,一般是通过commit()方法或rollback()方法来...
jdbc
mysql
事务
隔离级别_
JDBC
事务
隔离级别
如果DBMS支持
事务
处理
,它必须有某种途径来管理两个
事务
同时对
一个
数据库
进行
操作时可能发生的冲突。用户可指定
事务
隔离级别,以指明DBMS应该花多大精力来解决潜在冲突。例如,当
事务
更改了某个值而第二个
事务
却在该...
MySQL_12_Sharding
JDBC
实现
读写分离与分布式
事务
文章目录五、Sharding
JDBC
分布式
事务
5.1 分布式
事务
5.2 强一致性的XA
事务
5.2.1 全局
事务
5.2.2 2pc提交协议5.2.3 XA
事务
存在的问题5.3 实践:强一致性的XA
事务
六、尾声 五、Sharding
JDBC
分布式
事务
5.1 分布式
事务
...
Web 开发
81,092
社区成员
341,716
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章