`
txf2004
  • 浏览: 6831707 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDBC存储过程及事务处理

 
阅读更多

存储过程是由SQL语句,及其数据库相关的增强指令和流程控制语句书写的过程程序,经过数据库编译和优化后储存在数据可服务器中。利用存储过程完成应用系统的逻辑操作处理,可以提高系统的运行性能和可维护性,但会影响程序的可移植性。

JDBC调用存储过程

l编写存储过程

l得到CallableStatement,并调用存储过程:


l设置参数,注册返回值,输出:


事务处理

l事务的概念

•事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。

l数据库开启事务命令

•start transaction 开启事务

•Rollback 回滚事务

•Commit 提交事务

l当Jdbc程序向数据库获得一个Connection对象时,默认情况下这个Connection对象会自动向数据库提交在它上面发送的SQL语句。

lJDBC控制事务语句

•Connection.setAutoCommit(false);start transaction 开启事务

•Connection.rollback(); rollback 回滚事务

•Connection.commit(); commit 提交事务

l设置事务回滚点

•Savepoint sp =conn.setSavepoint();

•Conn.rollback(sp);

•Conn.commit(); //回滚后必须要提交

创建JDBC的事务主要分以下步骤:

1.设置事务的提交方式为非自动提交:

conn.setAutoCommit(false);

2.将需要添加事务的代码放入try,catch块中。

3.在try块内添加事务的提交操作,表示操作无异常,提交事务。

conn.commit();

4.在catch块内添加回滚事务,表示操作出现异常,撤销事务:

conn.rollback();

5.设置事务提交方式为自动提交:

conn.setAutoCommit(true);

事务的特性

l原子性
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。

l一致性
事务必须使数据库从一个一致性状态变换到另外一个一致性状态。

l隔离性
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。

l持久性
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。

数据库共定义了四种隔离级别:

Serializable:可避免脏读、不可重复读、虚读情况的发生。(串行化)(序列化)

Repeatable read:可避免脏读、不可重复读情况的发生。(可重复读)

Read committed:可避免脏读情况发生(读已提交)。

Read uncommitted:最低级别,以上情况均无法保证。(读未提交)

分享到:
评论

相关推荐

    Spring JDBC与事务管理

    javaEE 实验三 Spring JDBC与事务管理, 一、实验目的 1、掌握Spring JDBC的配置; 2、掌握JdbcTemplae类中增删改查方法的使用; 3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握...

    springboot2+两种方式:(读写分离、动态DataSource、事务懒处理)+sharding-jdbc.zip

    (4)、存储过程不能正常解析 ———————————————— 版权声明:本文为CSDN博主「毛豆有毛没豆」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:...

    JavaEE的Spring JDBC与事务管理 实验

    (1)使用Spring JDBC实现书店的购书过程,即有如下一个BookShopDao接口,编写BookShopDaoImp类实现该接口中的所有方法,并通过JUnit测试这些方法。 public interface BookShopDao { //根据书号获取书的单价 //...

    JDBC连接操作Oracle及Mysql详解

    JDBC连接Oracle 11g及Mysql5,涉及传参,反射,读取属性文件,预处理,(预处理)批处理,带参数的存储过程,事务处理,可滚动的结果集,可更新的结果集

    JDBC 3.0数据库开发与设计

    第2章 JDBC开发环境及配置 2.1 数据库系统 2.1.1 SQL数据库数据库基本操作语句 2.1.2 Microsoft SQL Server数据库设计及ODBC配置 2.1.3 Oracle 数据库的基本说明及其使用简介 2.1.4 MySQL的安装及使用简介 ...

    JDBC笔记 JDBC笔记

    同时也有一些高级的处理,比如批处理更新、事务隔离和可滚动结果集等。 ② javax.sql 扩展功能。它主要为数据库方面的高级操作提供了接口和类。如为连接管理、分布式事务和旧有的连接提供了更好的抽象,它引入了...

    你不知道的JDBC高级应用

    5.储存过程和CRUD的操作,获得Statement可以添加的参数,最有用的是可以获得添加后的当前的自动增长的ID. 6.结果集:在JAVA中完全可以把结果集当作游标来处理,获得Statement可以添加的参数. 7.事务:设定事务的保存点,...

    sqljdbc_8.2.2.0_chs.zip

    它可以执行一般的 SQL 语句、动态 SQL 语句及带 IN 和 OUT参数的存储过程。通过使用 JDBC 简化了开发数据库应用的复杂度, 加快了开发速度。开发人员可以很方便地将 SQL 语句传送给几乎任何一种数据库。而且 JDBC ...

    web JDBC数据库开发接口

    JDBC的结构; SQL指令操作数据库以及常用的SQL函数的使用; JDBC访问数据库的四种基本形式、事务处理; 分页显示以及如何利用JavaBean操作数据库; 访问Oracle数据库以及操作Oracle存储过程;

    Java_JDBC由浅入深

    第八节 JDBC对事务的支持 52 8.1 模拟转账 53 8.2 jdbc默认事务 54 8.3 事务提交与回滚 54 8.4 设置保存点 55 8.5 JTA事务的介绍 56 8.6 数据库的隔离级别介绍 56 8.6.1 未提交读 57 8.6.2 提交读 58 8.6.3 重复读 ...

    批量处理JDBC语句提高处理速度

    有时候JDBC运行得不够快,这使得有些程序员使用数据库相关的存储过程。作为一个替代方案,可以试试使用Statement 的批量处理特性看看能否同时执行所有的SQL以提高速度。 存储过程的最简单的形式就是包含一系列SQL...

    jdbc连接数据库的方式2

     在调用存储过程时,我们可以使用SQL92或Oracle PL/SQL,由于使用Oracle PL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。  9、使用Object...

    sharding-jdbc分布式数据库培训方案

    分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取...

    JDBC核心技术精讲

    9、mysql的预处理功能开启 10、JDBC中日期时间类型讨论11、通过JDBC存储和取出音频和视频数据 12、批处理概述 13、事务概述及事务的四大特性 14、mysql中使用事务 15、jdbc中使用事务 16、数据库连接池的介绍和...

    尚硅谷_佟刚_JDBC.pptx

    15. 使用 JDBC 调用函数 & 存储过程(视频24) 16. 课件及源码 ------------------------------------ 讲师:佟刚 尚硅谷教学总监   学员昵称"刚哥",在IT教育培训行业摸爬滚打多年,培养过N多学员,一个对教学...

    IRIS数据平台:一款针对事务/分析型应用程序的新型数据平台-2020.pdf

    •高性能,具备并行的事务处理和分析处理能力,支持实时处理用例。 •支持实时执行机器学习、业务规则、自然语言处理、商业智能及SQL查询。 •具有完整的互操作性平台,能将已有的应用程序和数据源相互集成。 •可...

    JDBC源码与PPT.zip

    与JDBC相关内容的源码与PPT,包括CRUD的操作,事务,存储过程,SQL注入,驱动等等内容以及相关源码

    sqlserver分布式事务攻略

    在SQL_SERVER中使用分布式事务全攻略(图解)

    dbVisitor 是一个数据库 ORM 工具

    提供对象映射、丰富的类型处理、动态SQL、存储过程、内置分页方言20+、 支持嵌套事务、多数据源、条件构造器、INSERT 策略、多语句/多结果。兼容 Spring 及 MyBatis 用法。 它不依赖任何其它框架,因此可以很方便的...

    Java数据库编程宝典2

    3.9.1 在存储过程中使用输入参数 3.9.2 存储过程中使用输出参数 3.10 小结 第4章 JDBC入门 4.1 什么是JDBC 4.2 两层和三层模型 4.2.1 两层模型 4.2.2 三层模型 4.3 SQL的一致性 4.4 JDBC兼容性 4.5 ...

Global site tag (gtag.js) - Google Analytics