概述
数据库的事务以及JDBC实现
什么是事务:
- 是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;
- 这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;
事务实现的原理: - 首先记录执行事务前的数据库状态
- 对于事务中的各条指令逐行执行
- 执行事务的过程中如果出错则回滚到执行事务前的数据库
demo:
import java.sql.*;
import com.mysql.jdbc.Driver;
// JDBC中的事务
// connection.setAutoCommit(false);
//关闭自动提交
// connection.commit();
//事务提交
// connection.rollback();
//事务回滚
public class Commit {
public void solve() {
Statement statement = null;
Connection connection = null;
ResultSet set = null;
try {
Driver driver = new Driver();
DriverManager.registerDriver(driver);
String url = "jdbc:mysql://localhost:3305/JAVA_LEARN";
String user = "root";
String password = "root";
connection = DriverManager.getConnection(url, user, password);
connection.setAutoCommit(false);
//关闭自动提交
statement = connection.createStatement();
String DQL = "select * from people";
set = statement.executeQuery(DQL);
int i=1/0;
connection.commit();
while(set.next()){
Integer id=set.getInt(1);
String name=set.getString("name");
String address=set.getString(3);
System.out.println(id+","+name+","+address);
}
} catch (Exception e) {
e.printStackTrace();
//出现异常,事务回滚
if(connection!=null){
try {
System.out.println("事务回滚");
connection.rollback();
}catch (SQLException sqlException){
sqlException.printStackTrace();
}
}
} finally {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (set != null) {
try {
set.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
Commit commit = new Commit();
commit.solve();
}
}
最后
以上就是生动美女为你收集整理的数据库的事务以及JDBC实现的全部内容,希望文章能够帮你解决数据库的事务以及JDBC实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复