当前位置: 首页 > news >正文

东营网络科技有限公司电商网站seo排名

东营网络科技有限公司,电商网站seo排名,网站建设的网页怎么做,中国建设银行遵义市分行网站一、事务简介事务是用户定义的一个数据库操作序列#xff0c;这些操作要么全做#xff0c;要么全不做#xff0c;是一个不可分割的工作单位。事务具有ACID特性#xff1a;原子性#xff08;Atomicity#xff09; —— 原子性是指事务是一个不可分割的工作单位#xff0c…一、事务简介 事务是用户定义的一个数据库操作序列这些操作要么全做要么全不做是一个不可分割的工作单位。 事务具有ACID特性原子性Atomicity —— 原子性是指事务是一个不可分割的工作单位事务中的操作要么都发生要么都不发生。 一致性Consistency —— 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性Isolation —— 一个事务的执行不能被其他事务干扰多个并发事务之间要相互隔离。持久性Durability —— 一个事务一旦提交它对数据库中数据的改变就应该是永久的。接下来的其他操作或故障不应该对其执行结果有任何影响。 关于事务的基本理论在许多书籍资料中都能找到这里就不赘诉了。二、JDBC中事务的提交与回滚 如果在JDBC中不明确指定开启事务那么所有的代码操作都在一个默认的事务中进行默认的事务会自动开启自动提交。因此如果我们需要在JDBC中手动操作事务就首先需要关闭事务的自动提交。 JDBC中关于事务操作的APIvoid setAutoCommit(boolean autoCommit) —— 设置事务是否自动提交如果设置为false表示手动提交事务。void commit() —— 手动提交事务void rollback() —— 手动回滚事务出现异常时候所有已经执行成功的代码需要回退到事务开始前的状态。Savepoint setSavepoint() —— 设置事务回滚到哪个位置。 可以使用一个转账的示例来演示事务的提交与回滚 假设基于上面这个表完成一次转账操作张三转账100元给李四。// 参数 // jdbc协议:postgresql子协议://主机地址:数据库端口号/要连接的数据库名 String url jdbc:postgresql://localhost:5432/test2; // 数据库用户名 String user postgres; // 数据库密码 String password 123456;// 1. 加载Driver类Driver类对象将自动被注册到DriverManager类中 Class.forName(org.postgresql.Driver);// 2. 连接数据库返回连接对象 Connection conn DriverManager.getConnection(url, user, password);PreparedStatement pstmt1 null; PreparedStatement pstmt2 null; try {// 3. 关闭事务的自动提交机制conn.setAutoCommit(false);// 4. 预编译SQL// 从张三账户中减去100元String sql1 UPDATE bank SET money money - 100 WHERE name ?; pstmt1 conn.prepareStatement(sql1);pstmt1.setString(1, 张三);// 往李四账户中增加100元String sql2 UPDATE bank SET money money 100 WHERE name ?;pstmt2 conn.prepareStatement(sql2);pstmt2.setString(1, 李四);// 5. 执行SQL语句pstmt1.executeUpdate();pstmt2.executeUpdate(); } catch (Exception e) {// 6. 如果发生异常则回滚事务conn.rollback(); } finally {// 6. 如果没有发生异常则提交事务conn.commit();// 7. 关闭资源pstmt1.close();pstmt2.close();conn.close(); } 这样把转账操作放置在一个事务中执行保证了事务的隔离性。即使转账操作发生异常事务也能正确回滚保证数据库中总金额仍然是2000。三、JDBC中事务回滚到特定位置 调用setSavepoint()就能指定事务发生异常时回滚到特定位置// 省略参数代码// 1. 加载Driver类Driver类对象将自动被注册到DriverManager类中 Class.forName(org.postgresql.Driver);// 2. 连接数据库返回连接对象 Connection conn DriverManager.getConnection(url, user, password);PreparedStatement pstmt1 null; PreparedStatement pstmt2 null; Savepoint sp null; try {// 3. 关闭事务的自动提交机制并指定事务回滚到这个位置conn.setAutoCommit(false);sp conn.setSavepoint();// 4. 预编译SQL// 从张三账户中减去100元String sql1 UPDATE bank SET money money - 100 WHERE name ?; pstmt1 conn.prepareStatement(sql1);pstmt1.setString(1, 张三);// 往李四账户中增加100元String sql2 UPDATE bank SET money money 100 WHERE name ?;pstmt2 conn.prepareStatement(sql2);pstmt2.setString(1, 李四);// 5. 执行SQL语句pstmt1.executeUpdate();pstmt2.executeUpdate(); } catch (Exception e) {// 6. 如果发生异常则回滚事务到指定位置conn.rollback(sp); } finally {// 6. 如果没有发生异常则提交事务conn.commit();// 7. 关闭资源pstmt1.close();pstmt2.close();conn.close(); }
http://www.zqtcl.cn/news/235528/

相关文章:

  • ugc网站开发2022恢复线下教学通知
  • 网站界面尺寸珠海网站建设制作哪家专业
  • 上海闸北城市建设有限公司网站想学设计没有基础怎么办
  • 免费微网站哪个好用在线网页代理浏览免费
  • 广州建设专业网站寻找做项目的网站
  • 湛江网站建设方案服务卖wordpress主题
  • 扬州做网站的网络公司wordpress设置登录背景图片
  • 有哪些好的网站建设移动网站建设解决方案
  • 江苏网站建设公司排名高校门户网站建设问题
  • 网站怎么加关键词视频网站程序
  • 建设网站需要的人员及资金建设一个网站的具体流程
  • 北京长空建设有限公司网站网站开发制作培训学校
  • 哪些网站可以免费做推广呢o2o营销模式
  • 注册网站的流程南京今天的最新消息
  • 做网站的没有进项票怎么办张家口市一建公司官网
  • 建设网站的本质智慧团建手机版
  • 嘉兴网站建设有前途吗沈阳男科医院排名10强名单公布
  • 手机网站变灰17种新型商业模式
  • 图书网站开发需求文档模板做网站现在用什么语言
  • 创建网站主题在哪里接单赚钱平台
  • 企业做网站的流程权威发布新闻的含义
  • 国外大型购物网站桂林视频网站制作
  • 平度那里有做网站的网站设计技术入股
  • 张家港专业做网站网站设计与建设ppt
  • 香奈儿网站设计分析网站建设新闻发布注意事项
  • 建设网站策划南京网站开发建设
  • 哪些网站可以做任务挣钱如何查询企业电话号码
  • 福田网站 建设深圳信科手机 网站制作
  • 网站站内优化方案佛山外贸网站建设哪家好
  • 厦门市网站建设局平台网站如何优化