我是靠谱客的博主 生动美女,最近开发中收集的这篇文章主要介绍数据库的事务以及JDBC实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据库的事务以及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实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部