概述
1.使用步骤:
注册驱动 Class.forname("全类名");
获取连接 DriverManager.getConnection().var;
开启事务 connection.setAutoCommit(boolean autoCommit);//true为自动提交,关闭事务;false为开启事务,关闭自动提交
获取到Statement connection.createStatement();
使用Statement执行SQL statement.execute...(sql);
提交或回滚事务 connection.commit();//提交事务 connection.rollback();//回滚事务
关闭资源 resultSet.close(); statement.close(); connection.close();
/** 需求:使用jdbc将张三的1000转账给李四** */
public class TransferDemo {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql:///mysql-day03", "root", "root");
//在一组sql操作开始前先手动开启事务
connection.setAutoCommit(false);
statement = connection.createStatement();
String sql = "UPDATE account set balance = 1000 WHERE id = 1;";
statement.executeUpdate(sql);
int i1 = 1/0;
String sql1 = "UPDATE account set balance = 3000 WHERE id = 2;";
statement.executeUpdate(sql1);
System.out.println("转账成功");
connection.commit();
} catch (Exception e) {
System.out.println("转账失败");
if(connection != null){
try {
connection.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
}
} finally{
if(statement != null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
statement = null;
}
if(connection != null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
connection= null;
}
}
}
}
最后
以上就是忧虑曲奇为你收集整理的JDBC的事务操作的全部内容,希望文章能够帮你解决JDBC的事务操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复