处理一个请求即开启一个线程,在三层中,执行三层中的方法都是用的同一个线程. 我们开启一个事务,使用conn.setAutoCommit(false); conn应该属于ado层,不应该出现在service层,但处理事务应该在service层执行. 针对上述矛盾,我们考虑将Connection绑定到ThreadLocal中,因为三层的执行都是在同一个线程,当需要Connection时,从ThreadLocal中取即可. 更改上一章转账按例,结构如下: 更改C3P0线程池的工具类 MyDataSou…
1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2次. >强烈依赖数据库的驱动jar 解决办法: Class.forName("com.mysql.jdbc.Driver"); 1.1.2 API详解:java.sql.Statement接口: 操作sql语句,并返回相应结果 String sql = "某SQL语句&qu…
JDBC事务--软件开发三层架构--ThreadLocal 一.JDBC事务 1.概述: 事务是指逻辑上的一组操作!这一组操作,通常认为是一个整体,不可拆分! 特点:同生共死;事务内的这一组操作要么全部成功,要么全部失败! 作用:保证逻辑操作的完整性,安全性! 2.使用(3种方式)     1)面向数据库,使用SQL语句控制         开启;(告诉数据库,我们要开始做事情了,)         START TRANSACTION;         提交;(确认上面所有的操作要生效);   …
##  JDBC控制事务 1.事务:一个包含多个步骤的业务操作.如果这个业务员操作被事务管理,则这多个步骤要么同时成功,要么同时失败. 2.操作: 1.开启事务 2.提交事务 3.回滚事务 3.使用Connection对象来管理事务 *  开启事务:setAutoCommit(boolean  autoCommit):使用该方法设置参数为false,即开启事务 *  在执行sql之前开启事务 *  提交事务:commit() *  当所有sql都执行完提交事务 *  回滚事务:rollback(…
一.事务概述 1.什么是事务 一件事情有n个组成单元 要不这n个组成单元同时成功 要不n个单元就同时失败 就是将n个组成单元放到一个事务中 2.mysql的事务 默认的事务:一条sql语句就是一个事务 默认就开启事务并提交事务 手动事务: 1)显示的开启一个事务:start transaction 2)事务提交:commit代表从开启事务到事务提交 中间的所有的sql都认为有效   真正的更新数据库 3)事务的回滚:rollback 代表事务的回滚 从开启事务到事务回滚 中间的所有的   sql…
一.简介: 前面一遍提到了jdbc事务相关的概念.从中了解到事务应具有ACID特性.所以对于javaweb开发来说,某一个service层的方法,应该是一个事务,应该是具有原子性的.特别是当一个service方法中需要调用多次dao层的方法.应该必须要保证,这些多次调用的dao方法必须是要不全部执行成功.要不全部执行失败.比如说银行业务的service方法的转账方法,需要通过dao调用对源转账户信息进行更新减少指定金额,然后调用dao对目标账户信息进行更新增加指定金额. 那么如下保证在跨dao层…
事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行. 2) 一致性(consistency):事务在完成时,必须是所有的数据都保持一致状态.在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性. 3) 隔离性(isolation):一个事务的执行不能被其他事务所影响. 4) 持久性(durability):一个事务一旦提交,事物的操作便永久性的保存在DB中.即使此时再执行回滚操作也…
Java的JDBC事务详解         分类:             Hibernate              2010-06-02 10:04     12298人阅读     评论(9)     收藏     举报     jdbcjava数据库sql serverdeleteinsert 事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行. 2) 一致性(consistency):事…
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbutils   事务   事务的四大特性:ACID: mysql中操作事务 jdbc中操作事务       事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE account(     id INT PRIMARY KEY AUTO_INCREMENT,     NA…
http://blog.csdn.net/qjyong/article/details/5464835 对目前的JavaEE企业应用开发来说,基本都会采用分层的架构, 这样可以分散关注.松散耦合.逻辑复用.标准定义.例如,目前使用SSH组合时典型的四层架构:表示层.业务层.持久层和数据层:那么,在四层架构中,事务的控制应该放在哪一层呢? 如果使用Spring框架,它对事务做了很好的封装,通过它的AOP配置,可以灵活的配置在任何一层:但是在很多的需求和应用,直接使用JDBC事务控制还是有其优势的.…