jdbc科技1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jdbc科技1

JDBC编程步骤 1.Load the Driver Class.forName()|Class.forName().new Instance()|new DriverName() 实例化自动向DriverManager注册, 不需要显示的 调用DriverManager.registerDriver方法 2. Connect to the Database DriverManager.getConnection(url,username、password) 3. Execute the SQL Connection.createStatement() Statement.executeQuery() Statement.executeUpdate() 4. Retrieve the result date 循环取得结果while(rs.next()) 5. Show the result data 将数据库的各种类型转换成为Java中的类型(getxxx)方法 6. Close Close the resultset | close the Statement | close the Connection JDBC 事务和并发控制 事务的定义 是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位 事务的特性(ACID) 原子性(Atomicity) 组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分 一致性(Consistency) 在事务处理执行前后,数据库是一致的(满足数据完整性约束) 隔离性(Isolation) 一个事务处理对另一个事务处理的影响 持久性(Durabilily) 事务处理的效果能够被永久保存 事务代码 Try{ conn=DBConnection.getConnection(); conn.setAutoCommit(false);//将事务提交设置为false; …. mit();//进行手动提交 }Catch (Exception e){ e.printStackTrace(); if(conn!=null) conn.rollback(); } 在JDBC中,可以通过调用setAutoCommit(false)来禁止自动提交。 之后就可以把多个数据库操作的表达式作为一个事务,在操作完成 后调用commit()来进行整体提交。倘若其中一个表达式操作失败, 都不会执行到commit(),并且将产生响应的异常。此时就可以在异 常捕获时调用rollback()进行回退。这样做可以保持多次更新操作后, 相关数据的一致性。 多个事务并发运行时的并发问题 各种客户程序进程 Mysql.exe进程 声明事务1 Java应用进程 声明事务2 线程1 声明事务3 线程2 声明事务4 Java应用进程 数据库系统进程 事务1 事务2 事务3 事务4 多个事务并发运行时的并发问题 脏读 如果一个事务读取了另外一个事务尚未提交的更新,则称为脏读 不可重复读 当事务多次访问同一行数据,并且每次读取的数据不同时,将会发生不一致分析问题 幻象读 当一个事务的更新结果影响到另一个事务时,将会发生幻象读问题 隔离级别 多线程并发读取数据时的正确性 conn.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED); 隔离级别 脏读 不可重复读 幻像读 读未提交 (Read uncommitted) Y Y Y 读已提交 (Read committed) N Y Y 可重复读 (Repeatable read) N N Y 可串行化 (Serializable) N N N 事务的隔离级别(1) 4个事务隔离级别,不同隔离级别对事务处理不同 : a. static int TRANSACTION_READ_UNCOMMITTED b. static int TRANSACTION_READ_COMMITTED c. static int TRANSACTION_REPEATABLE_READ d. static int TRANSACTION_SERIALIZABLE a. 未授权读取(Read Uncommitted): 也称未提交读。允许脏读取但不允许更新丢失,如果一个事务已经开始写数据则另外一个数据则不允许同时进行写操作但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档