iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >JDBC编程的事务处理
  • 313
分享到

JDBC编程的事务处理

2024-04-02 19:04:59 313人浏览 独家记忆
摘要

一、事务的基本概念    数据库是一个多用户使用的共享资源。当多个用户并发地存取数据的时候,在数据库中就会产生多个用户同时存取同一数据的情况。若对并发操作不加控制,就

一、事务的基本概念

    数据库是一个多用户使用的共享资源。当多个用户并发地存取数据的时候,在数据库中就会产生多个用户同时存取同一数据的情况。若对并发操作不加控制,就可能会产生读取和存储不正确的数据,破坏数据的一致性。

    而事务是并发控制的基本单位。所谓事务,即一个操作序列。这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。比如银行转账工作:从一个账户扣款,并使用另一个账户收款,这两个操作要么都执行,要么都不执行,因此应该把它们看作是一个事务。

    事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据的一致性。

    对于编程人员来说,可以把数据库事务看作是一组sql语句,这组sql语句是一个逻辑工作单元,它们是不可分割的,它们的执行结果应该作为一个整体永久修改一个数据库的内容或者作为一个整体取消对数据库的修改。

    

二、事务的四个基本特征

    1.原子性

    原子性是指事务中包含的操作都被看作是一个逻辑单元,这个逻辑单元中的操作要么全部成功,要么全部失败。这也意味着事务中的所有元素作为一个整体提交或回滚。事务的所有元素是不可分割的,是一个完整的操作。

    2.一致性

    一致性是指事务开始之前和事务结束以后数据库都处于一致性状态,数据库的完整性约束没有被破坏。

     3.隔离性

    隔离性是指对数据库进行修改的多个事务是彼此隔离的。这说明事务必须是独立的,不应该以任何形式影响其他事务

    4.持久性

    持久性是指事务完成之后对于数据库的影响是永久的,该修改真实地修改了数据库,即使数据库出现故障也会一直保留。


三、与SQL相关的事务语句

    开始事务:BEGIN TRANSACTioN

    提交事务:COMMIT TRANSATION

    回滚事务:ROLLBACK TRANSATION    

package com.eduask.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class TransactionTest {
	
	//创建一个getConnection()用来获取数据库的连接
	public static Connection getConnection(){
		Connection conn = null;
		
		try {
			Class.forName("com.Mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdemo","root","root");
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return conn;
	}
	
	public static void insertUserData(Connection conn) throws SQLException{
			String sql = "insert into tbl_user(id,name,passWord,email) "
					+ "values(10,'Tom','123456','tom@gmail.com')";
			Statement st = conn.createStatement();
			int count = st.executeUpdate(sql);
			System.out.println("向用户插入了 "+ count + " 条记录");
	}
	
	public static void insertAddressData(Connection conn) throws SQLException{
			String sql = "insert into tbl_address(id,city,country,user_id) "
					+ "values(1,'ShangHai','China','10')";
			Statement st = conn.createStatement();
			int count = st.executeUpdate(sql);
			System.out.println("向地址表中插入了 "+ count + " 条记录");
	}
	
	public static void main(String[] args) {
		Connection conn = null;
		try {
			conn = getConnection();
			conn.setAutoCommit(false);
			
			insertUserData(conn);
			insertAddressData(conn);
			
			conn.commit();
		} catch (SQLException e) {
			System.out.println("=========捕获到SQL异常=========");
			
			e.printStackTrace();
			try {
				conn.rollback();//回滚事务,保证数据库数据的一致性
				System.out.println("=========事务回滚成功=========");
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}finally{
			try {
				if (conn != null) {
					conn.close();
				}
			} catch (Exception e3) {
				e3.printStackTrace();
			}
		}
	}
	
	
}












您可能感兴趣的文档:

--结束END--

本文标题: JDBC编程的事务处理

本文链接: https://www.lsjlt.com/news/43519.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JDBC编程的事务处理
    一、事务的基本概念    数据库是一个多用户使用的共享资源。当多个用户并发地存取数据的时候,在数据库中就会产生多个用户同时存取同一数据的情况。若对并发操作不加控制,就...
    99+
    2022-10-18
  • JDBC事务超时怎么处理
    要处理JDBC事务超时,可以采取以下方法: 增加事务超时时间:可以在创建事务时设置一个较长的超时时间,以确保事务有足够的时间完成...
    99+
    2023-10-26
    JDBC
  • JavaBean中怎么利用JDBC实现事务处理
    今天就跟大家聊聊有关JavaBean中怎么利用JDBC实现事务处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JDBC(Java Data Base Connectivity,ja...
    99+
    2023-06-17
  • MySQL的JDBC 编程
    目录 1.数据库编程:JDBC 2. JDBC工作原理 3. JDBC使用 3.1 驱动包的下载与导入 3.2 JDBC使用步骤(插入) 4.JDBC修改删除查询 1. 将数据库驱动包,添加到项目依赖中 创建目录,拷贝jar包,然...
    99+
    2023-09-02
    mysql 数据库 java
  • 6.Java的JDBC编程
    文章目录 🌆1. 数据库编程🌆🏯1.1数据库编程的必备条件🏯🏰1.2下载驱动包🏰⛺️1.3导入驱动包:⛺️🏭1.4编写J...
    99+
    2023-08-17
    java 数据库 JDBC mysql sql
  • 【MySQL】 Java的JDBC编程
    文章目录 🌲数据库编程的必备条件🎋Java的数据库编程:JDBC🎍JDBC工作原理🌳建立数据库连接📌在项目中新建...
    99+
    2023-09-27
    mysql java 数据库 开发语言 基础操作
  • Java事务管理学习之JDBC详解
    什么是Java事务通常的观念认为,事务仅与数据库相关。事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩...
    99+
    2023-05-31
    java jdbc 事务管理
  • JDBC编程的详细步骤
    目录前言1.创建数据库连接Connection2.创建操作命令对象Statement3.执行SQL,替换占位符,之后再执行4.如果是查询操作,处理结果集5.释放资源返回对象前言 JD...
    99+
    2022-11-12
  • 【MySQL系列】Java的JDBC编程
    ☕目录☕       🍚前言             🍜一、背景知识引入             🥡二、安装MySQL数据库驱动包,并且导入到项目中             🧇...
    99+
    2023-09-05
    MySQL数据库
  • 【通关MySQL】Java的JDBC编程
    ✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【通关MySQL】 ✈️✈️本篇内容:Java的JDBC编程。 🚀🚀代码存放仓库gitee:MySQL码云存放...
    99+
    2023-09-06
    mysql 数据库 java
  • SQL Server:存储过程中编写事务处理的方法小结
    原文出处: http://www.jb51.net/article/80636.htm本文我们介绍了三种不同的方法,举例说明了如何在存储过程事务处理中编写正确的代码。 1. 常见写法:在编写SQL Serv...
    99+
    2022-10-18
  • JDBC中的批处理是什么
    这篇文章将为大家详细讲解有关JDBC中的批处理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 直接上代码:packagecn.zhou....
    99+
    2022-10-19
  • SQL Server存储过程中编写事务处理的方法有哪些
    本篇文章为大家展示了SQL Server存储过程中编写事务处理的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。实例讲述了SQL Server存储过程中编写...
    99+
    2022-10-19
  • Android编程中延后处理事件的方法小结
    本文实例讲述了Android编程中延后处理事件的方法。分享给大家供大家参考,具体如下: 一、Handler和TimerTask相结合 1、首先定义TimerTask Time...
    99+
    2022-06-06
    小结 方法 事件 Android
  • MySQL事务处理
    概述 在MySQL中只有使用了InnoDB数据库存储引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部成功,要么全部失败。 事务用来管理DDL、DML、DCL操作,比如:insert、...
    99+
    2014-12-03
    MySQL事务处理
  • 基于JDBC的MySQL数据库编程
    ✨博客主页: 荣 ✨系列专栏: MySQL ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录 一. JDBC概述二. JDBC前置工作1. 准备好MySQL驱动包2. 创建项目 三....
    99+
    2023-09-12
    数据库 mysql java
  • JDBC对Mysql utf8mb4字符集的处理
    在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围 在存储数据时, 出现部分特殊字符存储字符串失败. ...
    99+
    2022-10-18
  • MySQL和JDBC事务控制的示例分析
    这篇文章将为大家详细讲解有关MySQL和JDBC事务控制的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、MySQL的事务控制(Transaction Cont...
    99+
    2022-10-18
  • Spring事务专题(三)事务的基本概念,Mysql事务处理原理
    前言 本专题大纲: 专栏大纲 我重新整理了大纲,思考了很久,决定单独将MySQL的事务实现原理跟Spring中的事务示例分为两篇文章,因为二者毕竟没有什么实际关系,实际上如果你对MySQL的事务原理不感兴趣也可以直接跳过本文,等待接下来两...
    99+
    2017-03-18
    Spring事务专题(三)事务的基本概念,Mysql事务处理原理 数据库入门 数据库基础教程 数据库 mysql
  • MySQL中的JDBC编程该如何分析
    这期内容当中小编将会给大家带来有关MySQL中的JDBC编程该如何分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、数据库编程的必备条件编程语言,如Java,C、C++、Python等 数据库,如Or...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作