jdbc如何实现事务处理?(例如先进行读取在进行修改能在一个事务里) jdbc如何实现事务处理?(例如先进行读取在进行修改能在一个事务里) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用Spring框架吧,Spring框架支持事物处理的。 数据在进行读取(查询)的时候可以不用事务,但如果你不想读取脏数据时,可以加锁(对于Hibernate的方法是用lock,这个方式你可以查一下,因为jdbc是Hibernate的根本),而对于update或是save,delete的时候是需要用到事务的.JDBC默认事务处理是false,那么在用的时候,可以根据你的要求或是进行commit(),或是不用. 只要你不commit就是在一个事务里,一旦用了commit,该事务就结束 我想只用 jdbc实现 多表之前操作的 事务处理 有没有办法? 楼主不过是事务而已,有必要Spring、Hibernate都一定要上吗?conn.setAutoCommit(false);...conn.commit();//或者conn.rollback();conn.setAutoCommit(true);你可以select for update来保证数据更新 我第一人选择相同条件的 的两行 我用 rownum <=2去取 第二个人再去取两个或者更多怎么办? 我如果rownum <=2第一个人查看的因为锁了肯定看不到 我希望他能跳过 这两句再去读 2条或者更多因为每次数量是不固定的所以 想问问有啥办法? 当然有办法了,Spring 中的事务控制也是 Java 开发的。如果使用 JDBC 控制事物的话,首先要确定事务的边界是在 DAO 层还是在业务层。如果事务边界在 DAO 层的话,那很好处理,直接使用 Connection 的事务处理方法。如果事务边界在业务层,那就比较麻烦,因为一个业务方法会调用一个或多个 DAO 中的方法完成一个事务,我们必须把这几个 DAO 方法纳入一个事务之中,这在 J2EE 设计中称为事务上下文模式。事务上下文模式一般采用 ThreadLocal 将数据库连接对象绑定在当前的请求线程中,DAO 中的连接对象从 ThreadLocal 中获得,DAO 中不能执行 con.close 方法。另外业务方法采用动态代理将其改写,把Connection 对象的事务处理切入到方法中,也就是在方法执行前开启事务,执行完后提交事务,如果其中产生异常则回滚事务。 如果设计优良的话完全能够做到像 Spring、EJB 中的事务处理不侵入到业务逻辑处理当中去。 情问你有没有这方面的详细材料或者demo? 已经给你讲了具体的原理和步骤了,我认为这些比代码更重要。参考这本书:http://www.oreilly.com.cn/book.php?bn=7-5083-3099-4 jenkins和cobertura怎么集成看测试代码的覆盖率啊 axis2 谁能帮我解决两个问题? 飞鱼编辑器的全屏返回怎么有错呀! 紧急求助!session参数传递丢失 一个有关servlet的问题 linux下的tomcat问题 在JSF中,怎样实现javascript对输入数据合法性验证。 如何在JSP中调用EXCEL的打印预览功能吗? 小弟我刚学JSP有很多问题不能解决请教各位:数据库连接问题? 散分!顺便问一下连接池这个词的概念。 org.xml.sax.SAXParseException 看看这段javascript是不是很奇怪
楼主不过是事务而已,有必要Spring、Hibernate都一定要上吗?
conn.setAutoCommit(false);...
conn.commit();//或者conn.rollback();
conn.setAutoCommit(true);你可以select for update来保证数据更新
我们必须把这几个 DAO 方法纳入一个事务之中,这在 J2EE 设计中称为事务上下文模式。事务上下文模式一般采用 ThreadLocal 将数据库连接对象绑定在当前的请求线程中,DAO 中的连接对象
从 ThreadLocal 中获得,DAO 中不能执行 con.close 方法。另外业务方法采用动态代理将其改写,把
Connection 对象的事务处理切入到方法中,也就是在方法执行前开启事务,执行完后提交事务,如果其
中产生异常则回滚事务。
http://www.oreilly.com.cn/book.php?bn=7-5083-3099-4