`
geelong
  • 浏览: 117222 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jdbc mysql 事务的设置

阅读更多
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.Statement ;
public class TranDemo02{
	// 定义MySQL的数据库驱动程序
	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
	// 定义MySQL数据库的连接地址
	public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
	// MySQL数据库的连接用户名
	public static final String DBUSER = "root" ;
	// MySQL数据库的连接密码
	public static final String DBPASS = "mysqladmin" ;
	public static void main(String args[]) throws Exception{	// 所有异常抛出
		Connection conn = null ;		// 数据库连接
		Statement stmt = null ;		// 定义数据库操作
		Class.forName(DBDRIVER) ;	// 加载驱动程序
		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

		conn.setAutoCommit(false) ;	// 取消掉自动提交

		stmt = conn.createStatement() ;
		stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-1','hello-1',11,'男','1975-03-05') ") ;
		stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-2','hello-2',12,'女','1976-03-05') ") ;
		// 加入“'”之后,此SQL语法就出现了错误,所以,肯定执行到此语句的时候出现代码错误
		stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-'3','hello-3',13,'男','1977-06-01') ") ;
		stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-4','hello-4',14,'女','1965-03-05') ") ;
		stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-5','hello-5',15,'女','1965-08-05') ") ;
		try{
			int temp[] = stmt.executeBatch() ;
			System.out.println("更新了:" + temp.length+ "条数据。") ;
			conn.commit() ;	// 所有的操作成功了
		}catch(Exception e){
			try{
				conn.rollback() ;
			}catch(Exception e1){
				
			}
		}
		stmt.close() ;
		conn.close() ;			// 数据库关闭
	}
};

 

 

 

import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.Statement ;
import java.sql.Savepoint ;
public class TranDemo03{
	// 定义MySQL的数据库驱动程序
	public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
	// 定义MySQL数据库的连接地址
	public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
	// MySQL数据库的连接用户名
	public static final String DBUSER = "root" ;
	// MySQL数据库的连接密码
	public static final String DBPASS = "mysqladmin" ;
	public static void main(String args[]) throws Exception{	// 所有异常抛出
		Connection conn = null ;		// 数据库连接
		Statement stmt = null ;		// 定义数据库操作
		Class.forName(DBDRIVER) ;	// 加载驱动程序
		conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

		conn.setAutoCommit(false) ;	// 取消掉自动提交

		stmt = conn.createStatement() ;
		stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-1','hello-1',11,'男','1975-03-05') ") ;
		stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-2','hello-2',12,'女','1976-03-05') ") ;
		Savepoint sp = conn.setSavepoint() ;		// 设置保存点
		
		stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-4','hello-4',14,'女','1965-03-05') ") ;
		stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +
			" VALUES ('LXH-5','hello-5',15,'女','1965-08-05') ") ;
		try{
			conn.rollback(sp) ;	// 回滚到保存点
			conn.commit() ;	// 所有的操作成功了
		}catch(Exception e){
			e.printStackTrace() ;
		}
		stmt.close() ;
		conn.close() ;			// 数据库关闭
	}
};

 

 

 

set autocommit=0;  //开启事务    1关闭事务
begin;

insert into user_detail(id,password,name,email) values(1234,'aaa','testa','123@qq.com'); //插入数据
rollback;//回滚,取消插入的数据



insert into user_detail(id,password,name,email) values(1234,'aaa','testa','123@qq.com'); //插入数据
commit;//提交数据,不能回滚

 

 

分享到:
评论

相关推荐

    Mysql JDBC驱动 .zip_MYSQL_jdbc mysql_mysql jdbc_mysql jdbc driver_

    - **事务管理**:JDBC支持事务,可以控制一组操作的原子性,确保数据的一致性。 - **批处理**:通过PreparedStatement的addBatch()方法,可以批量执行SQL语句,提高效率。 - **连接池**:在实际应用中,为了性能和...

    JDBC:MySQL8.0.29驱动

    使用JDBC驱动进行数据库操作时,开发者还需要注意处理异常、事务管理、连接池的使用等最佳实践,以确保程序的稳定性和效率。例如,使用try-with-resources语句自动关闭资源,以及使用连接池如HikariCP或C3P0来管理...

    PB通过JDBC连MYSQL教程

    JDBC(Java Database Connectivity)是Java语言中用于连接数据库的标准API,而MySQL则是一种广泛使用的开源关系型数据库管理系统。本教程将深入探讨如何使用PB通过JDBC来连接MySQL数据库。 首先,我们需要确保已经...

    JDBC设置事务自动提交

    本篇文章将深入探讨如何使用JDBC设置事务的自动提交模式,以及它的工作原理和重要性。 首先,理解事务的基本概念至关重要。事务是数据库执行的一组操作,这些操作要么全部完成,要么全部不完成,即遵循ACID(原子性...

    mysql-jdbc

    MySQL-JDBC是Java开发者在应用程序中与MySQL数据库交互的标准方式。JDBC(Java Database Connectivity)是Java平台中用于规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。本...

    JAVA JDBC MYSQL连接源代码

    10. **源代码**: 压缩包中的"Java JDBC MYSQL"可能是包含示例代码的文件,你可以参考这些代码了解如何在实际项目中设置JDBC连接,执行SQL,以及处理结果。 在实际开发中,除了基本的连接和查询,你可能还需要处理...

    jdbc+spring+mysql事务理解和分析

    以下是对`jdbc+spring+mysql事务理解和分析`的详细说明: 1. **原子性(Atomicity)**:这是事务的基本特性,表示事务中的所有操作要么全部成功,要么全部回滚。如果在事务执行过程中发生错误,数据库会撤销所有已...

    Mysql5.6、Mysql5.7 JDBC驱动

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将深入探讨Mysql5.6和Mysql5.7的JDBC驱动,以及如何使用`mysql-connector-java-...

    jdbc mysql dirver.rar

    MySQL JDBC 驱动是Java应用程序连接MySQL数据库的关键组件。JDBC(Java Database Connectivity)是Java平台中的标准接口,允许Java程序与各种数据库进行交互。MySQL JDBC驱动,也称为Connector/J,是Oracle公司为...

    jdbc.zip_JDBC mysql java_mysql jdbc

    "jdbc.zip_JDBC mysql java_mysql jdbc" 这个标题表明这是一个关于Java JDBC(Java Database Connectivity)技术的资源包,特别关注的是它与MySQL数据库的交互。"jdbc.zip" 指的是一个压缩文件,包含了与JDBC相关的...

    sql和mysql jdbc包

    在本主题中,我们将深入探讨SQL、MySQL以及MySQL JDBC连接包的相关知识。 首先,SQL2005指的是Microsoft SQL Server 2005,这是微软公司推出的一种商业关系数据库管理系统,提供了强大的数据存储和查询功能。SQL ...

    jdbc-mysql-connection

    标题中的"jdbc-mysql-connection"关键词表明我们讨论的主题是关于Java数据库连接(JDBC)与MySQL数据库之间的交互。JDBC是Java平台上的一个标准接口,它允许Java应用程序与各种类型的数据库进行通信,包括MySQL。...

    jdbc-MySQL-jar包

    【jdbc-MySQL-jar包】是一个集合了连接MySQL数据库所需资源的压缩文件,主要包含两个核心部分:`mysql-connector-java-5.0.8-bin.jar`和Java源代码文件,用于教学或实践如何使用Java的JDBC(Java Database ...

    JDBC连接Mysql数据库案例

    可以设置自动提交模式,或者手动控制事务的开始、提交和回滚。 通过以上步骤,我们可以编写出完整的JDBC连接MySQL数据库的代码。在这个案例中,`DBConnection`可能是封装了这些操作的类,提供了方便的方法来连接...

    mysql5.7.20的jdbc驱动

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口。本文将详细探讨“mysql5.7.20的jdbc驱动”这一主题,包括其重要性、功能、版本兼容性...

    java使用jdbc对mysql的操作封装,包括java使用jdbc对mysql进行事务处理

    封装了java使用jdbc对mysql的操作,以及java使用jdbc对mysql的事务处理,对execute、executeUpdate、executeQuery进行了封装,把繁琐的创建数据库连接对象、PreparedStatement对象、结果集对象,打开关闭连接进行了...

    SpringBoot项目采用JDBC连接MySql示例

    本示例将深入探讨如何在SpringBoot项目中使用JDBC(Java Database Connectivity)驱动来连接和操作MySQL数据库。我们将涵盖以下几个关键知识点: 1. **SpringBoot与JDBC**: SpringBoot内建了对JDBC的支持,允许...

    JDBC使用MySQL处理大数据+事务控制管理.txt

    ### JDBC使用MySQL处理大数据及事务控制管理 #### 一、批处理提高性能 在处理大量数据时,直接使用传统的逐条记录方式与数据库进行交互往往会导致性能低下。这是因为每次执行SQL语句时都需要与数据库建立连接、...

    mysql5.7-jdbc.rar

    5. **安全增强**:MySQL 5.7引入了更严格的默认安全设置,比如密码过期策略和强制使用加密连接,提升了数据库的安全性。 接下来,我们关注一下JDBC(Java Database Connectivity): JDBC是Java平台上的一个标准...

Global site tag (gtag.js) - Google Analytics