package TX;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Transaction {
public static void main(String[] args) {
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try
(
Connection c = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/Hero?characterEncoding=UTF-8",
"root",
"123");
Statement s = c.createStatement();
)
{
//关闭自动提交功能 事务第一步骤
c.setAutoCommit(false);
//存1000块钱
String sqlDeposit = "update money set balance=11000 where id =1";
s.execute(sqlDeposit);
//取1000块钱 如果这句出错的话就有效果了,上句执行的效果也没了,和没有执行一样的
String sqlWithDrow = "upate money set balance=8000 where id =1";
s.execute(sqlWithDrow);
//自己写个提交语句 事务第二步骤 中间的是逻辑语句
c.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如何在jdbc中进行实务操作呢?
最新推荐文章于 2020-08-12 15:18:39 发布