`
nbtlxx
  • 浏览: 253674 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

jdbc学习(四):事务处理

阅读更多
今天学习了事务处理,跟着书本做了简单的demo.

基本流程如下:
事务处理演示 1. connection db
             2. getConnection
             3. createStatement
             4. 设置autocomit(false)
             5. execute sql update or query etc.
             6. conn.comit() 正式提交, 数据库执行
             7. 如果操作事务,conn.rollBack(), 一旦操作失误,就撤销操作,进行回滚
             8. 关闭相关的statement, connection(时间仓促,没有实现)

/**
 * 
 */
package db;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * @author sean
 * 
 *         事务处理演示 1. connection db 2. getConnection 3. createStatement 4.
 *         设置autocomit(false) 5. execute sql update or query etc. 6.
 *         conn.comit() 正式提交, 数据库执行 7. 如果操作事务,conn.rollBack(), 一旦操作失误,就撤销操作,进行回滚
 *         8. 关闭相关的statement, connection
 * 
 */
public class TransactionDemo {

	static DBSource dbSource;
	static Connection conn;

	private static String insertSql = "insert into user values('13','sean','sean@mail.com','hellofromsean')";
	private static String insertSql2 = "insert into user values('14','sean','sean@mail.com','hellofromsean')";

	/**
	 * @param args
	 * 
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		try {
			dbSource = new SimpleDBSource();
			conn = dbSource.getConnect();
			Statement stmt = conn.createStatement();

			conn.setAutoCommit(false);    //设置非自动提交

			
			stmt.executeUpdate(insertSql);
			stmt.executeUpdate(insertSql2);

			conn.commit(); 				  // 提交事务,开始执行
			System.out.println("事务执行成功");
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			try {
				conn.rollback(); // 事务回滚撤销
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			e.printStackTrace();
		}

	}

}

0
0
分享到:
评论

相关推荐

    达内jdbc学习笔记

    总的来说,"达内jdbc学习笔记"涵盖了JDBC基础、数据库连接、SQL执行、结果集处理、事务管理和性能优化等多个关键知识点,对Java开发者来说是宝贵的参考资料。通过深入学习和实践,可以熟练地使用Java进行数据库操作...

    SQLite JDBC Driver

    - 支持事务处理,可以进行回滚和提交。 - 支持预编译的SQL语句(`PreparedStatement`),提高性能并防止SQL注入。 - 提供元数据查询,获取数据库表、列等信息。 4. **注意事项** - SQLite JDBC驱动不支持所有的...

    我的jdbc参考书:

    JDBC异常处理 正确捕获并处理SQLException,确保程序健壮性。 ### 10. 数据库连接优化 - 调整连接超时、空闲时间等配置。 - 使用连接池进行连接复用,降低连接创建和释放的成本。 综上所述,"我的jdbc参考书...

    JDBC学习笔记--JDBC学习笔记

    JDBC学习笔记 JDBC(Java DataBase Connectivity)是一种Java程序语言访问数据库的标准接口。它使得Java程序可以连接到各种不同的数据库管理系统,例如Oracle、SQL Server、MySQL、DB2、Sybase等。 JDBC的概念 ...

    jdbc-helper-0.3.1

    通过对源代码的学习,可以了解到如何优化数据库操作,以及如何更好地处理数据库连接和事务。 六、总结 jdbc-helper-0.3.1作为Google封装的JDBC工具,以其轻量级、易用和高效的特点,成为了Java开发中的一个得力...

    Sharding-JDBC分布式事务应用

    Sharding-JDBC是阿里巴巴开源的一款轻量级数据库中间件,它为Java开发者提供了一种透明化的数据分片解决方案,同时也支持分布式事务处理。在现代互联网应用中,面对海量数据和高并发的挑战,分布式事务成为了必不可...

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

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

    java——jdbc学习总结

    JDBC是Java开发中不可或缺的一部分,熟练掌握JDBC可以帮助开发者有效地进行数据库操作,同时,随着JDBC的不断升级,现代的JDBC驱动如JDBC 4.2及以上版本提供了更多高级特性,如自动关闭资源、流式处理等,使得数据库...

    JDBC学习资料 jdbc编程

    JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如执行SQL语句、连接数据库以及处理返回结果等功能。它是Java平台中用于数据库访问的标准API,类似于ODBC...

    JDBC 学习资料(word)

    学习 JDBC 时,不仅要理解这些基本概念,还需要实际操作数据库,编写 SQL 语句,练习使用 PreparedStatement、ResultSet 等对象,掌握事务处理和异常处理,以及如何优化数据库操作。通过实践,你可以更好地掌握 JDBC...

    详细标准的jdbc学习资料

    通过本套学习资料,你可以系统地了解和掌握JDBC的使用,包括建立连接、执行SQL、处理结果、事务处理、批处理和优化技巧等,为实际的数据库操作打下坚实的基础。资料分为四个部分,分别从初级到高级逐步深入,从day1...

    本人理解hibernate 与 JDBC 的最本质区别

    - **Hibernate**:提供了高级的事务管理功能,简化了事务处理。 6. **错误处理和调试**: - **JDBC**:错误处理通常涉及 SQL 错误,调试可能复杂。 - **Hibernate**:错误通常与对象状态或映射配置相关,更容易...

    jdbc学习资料 内部资料

    - **使用事务**:支持事务处理机制。 **特性**: - **统一性**:JDBC提供了统一的标准接口,使得开发人员可以使用相同的编程接口来访问不同的数据库。 - **灵活性**:由于是基于Java的API,因此可以在任何支持Java...

    非常好的JDBC学习文档

    总的来说,这个"非常好的JDBC学习文档"将涵盖从基础到进阶的JDBC知识,包括驱动管理、连接创建、SQL执行、事务处理、异常控制、批处理以及连接池的使用。通过学习,你不仅可以掌握数据库操作,还能理解如何在实际...

    JDBC学习笔记(笔记+包含详细注释的代码)

    **JDBC学习笔记** Java Database Connectivity (JDBC) 是Java平台中用于与各种数据库进行交互的一组接口和类。它是Java SE的一部分,允许Java应用程序连接到数据库,执行SQL语句,处理结果集,并进行事务管理。这篇...

    配套学习资料:Java开发 - 尚硅谷JDBC学习笔记

    Java开发 - 尚硅谷JDBC学习笔记是一套深入解析Java数据库连接(JDBC)技术的教程,涵盖了从基础到进阶的各种知识点。JDBC是Java编程语言中用于访问数据库的标准应用编程接口,它允许程序员使用Java来执行SQL语句,...

    JAVA的JDBC学习遇到的问题1

    这篇博客"JAVA的JDBC学习遇到的问题1"可能是作者在深入学习JDBC时遇到的一些常见挑战和解决方法的记录。虽然没有具体的描述内容,我们可以根据一般的学习路径来探讨JDBC相关的知识点。 1. **JDBC基本概念**:首先,...

    jdbc学习手册

    JDBC学习手册通常包含以下几个核心知识点: 1. **JDBC API**: JDBC API包括一系列的Java类和接口,如`java.sql.DriverManager`、`java.sql.Connection`、`java.sql.Statement`、`java.sql.PreparedStatement`和`...

    JDBC学习笔记

    #### 十四、JDBC事务处理 - **概念**:事务是一系列操作的集合,要么全部成功,要么全部失败。 - **JDBC事务管理**: - 使用`Connection.setAutoCommit(false)`关闭自动提交。 - 执行一系列数据库操作。 - 成功...

Global site tag (gtag.js) - Google Analytics