今天学习了事务处理,跟着书本做了简单的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();
}
}
}
分享到:
相关推荐
总的来说,"达内jdbc学习笔记"涵盖了JDBC基础、数据库连接、SQL执行、结果集处理、事务管理和性能优化等多个关键知识点,对Java开发者来说是宝贵的参考资料。通过深入学习和实践,可以熟练地使用Java进行数据库操作...
- 支持事务处理,可以进行回滚和提交。 - 支持预编译的SQL语句(`PreparedStatement`),提高性能并防止SQL注入。 - 提供元数据查询,获取数据库表、列等信息。 4. **注意事项** - SQLite JDBC驱动不支持所有的...
JDBC异常处理 正确捕获并处理SQLException,确保程序健壮性。 ### 10. 数据库连接优化 - 调整连接超时、空闲时间等配置。 - 使用连接池进行连接复用,降低连接创建和释放的成本。 综上所述,"我的jdbc参考书...
JDBC学习笔记 JDBC(Java DataBase Connectivity)是一种Java程序语言访问数据库的标准接口。它使得Java程序可以连接到各种不同的数据库管理系统,例如Oracle、SQL Server、MySQL、DB2、Sybase等。 JDBC的概念 ...
通过对源代码的学习,可以了解到如何优化数据库操作,以及如何更好地处理数据库连接和事务。 六、总结 jdbc-helper-0.3.1作为Google封装的JDBC工具,以其轻量级、易用和高效的特点,成为了Java开发中的一个得力...
Sharding-JDBC是阿里巴巴开源的一款轻量级数据库中间件,它为Java开发者提供了一种透明化的数据分片解决方案,同时也支持分布式事务处理。在现代互联网应用中,面对海量数据和高并发的挑战,分布式事务成为了必不可...
封装了java使用jdbc对mysql的操作,以及java使用jdbc对mysql的事务处理,对execute、executeUpdate、executeQuery进行了封装,把繁琐的创建数据库连接对象、PreparedStatement对象、结果集对象,打开关闭连接进行了...
JDBC是Java开发中不可或缺的一部分,熟练掌握JDBC可以帮助开发者有效地进行数据库操作,同时,随着JDBC的不断升级,现代的JDBC驱动如JDBC 4.2及以上版本提供了更多高级特性,如自动关闭资源、流式处理等,使得数据库...
JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如执行SQL语句、连接数据库以及处理返回结果等功能。它是Java平台中用于数据库访问的标准API,类似于ODBC...
学习 JDBC 时,不仅要理解这些基本概念,还需要实际操作数据库,编写 SQL 语句,练习使用 PreparedStatement、ResultSet 等对象,掌握事务处理和异常处理,以及如何优化数据库操作。通过实践,你可以更好地掌握 JDBC...
通过本套学习资料,你可以系统地了解和掌握JDBC的使用,包括建立连接、执行SQL、处理结果、事务处理、批处理和优化技巧等,为实际的数据库操作打下坚实的基础。资料分为四个部分,分别从初级到高级逐步深入,从day1...
- **Hibernate**:提供了高级的事务管理功能,简化了事务处理。 6. **错误处理和调试**: - **JDBC**:错误处理通常涉及 SQL 错误,调试可能复杂。 - **Hibernate**:错误通常与对象状态或映射配置相关,更容易...
- **使用事务**:支持事务处理机制。 **特性**: - **统一性**:JDBC提供了统一的标准接口,使得开发人员可以使用相同的编程接口来访问不同的数据库。 - **灵活性**:由于是基于Java的API,因此可以在任何支持Java...
总的来说,这个"非常好的JDBC学习文档"将涵盖从基础到进阶的JDBC知识,包括驱动管理、连接创建、SQL执行、事务处理、异常控制、批处理以及连接池的使用。通过学习,你不仅可以掌握数据库操作,还能理解如何在实际...
**JDBC学习笔记** Java Database Connectivity (JDBC) 是Java平台中用于与各种数据库进行交互的一组接口和类。它是Java SE的一部分,允许Java应用程序连接到数据库,执行SQL语句,处理结果集,并进行事务管理。这篇...
Java开发 - 尚硅谷JDBC学习笔记是一套深入解析Java数据库连接(JDBC)技术的教程,涵盖了从基础到进阶的各种知识点。JDBC是Java编程语言中用于访问数据库的标准应用编程接口,它允许程序员使用Java来执行SQL语句,...
这篇博客"JAVA的JDBC学习遇到的问题1"可能是作者在深入学习JDBC时遇到的一些常见挑战和解决方法的记录。虽然没有具体的描述内容,我们可以根据一般的学习路径来探讨JDBC相关的知识点。 1. **JDBC基本概念**:首先,...
JDBC学习手册通常包含以下几个核心知识点: 1. **JDBC API**: JDBC API包括一系列的Java类和接口,如`java.sql.DriverManager`、`java.sql.Connection`、`java.sql.Statement`、`java.sql.PreparedStatement`和`...
#### 十四、JDBC事务处理 - **概念**:事务是一系列操作的集合,要么全部成功,要么全部失败。 - **JDBC事务管理**: - 使用`Connection.setAutoCommit(false)`关闭自动提交。 - 执行一系列数据库操作。 - 成功...