package sample;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DB__Transaction {
public static void main(String[] args) {
// TODO 自動生成的方法存根
final String J_DRIVER="com.mysql.cj.jdbc.Driver";
final String URL="jdbc:mysql://127.0.0.1:3306/mydb?serverTimezone=JST&characterEncoding=UTF-8";
final String USER = "root";
final String PASSWD = "root";
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("振入元id入力");
int from_id = Integer.parseInt(br.readLine());
System.out.println("振入先id入力");
int to_id = Integer.parseInt(br.readLine());
System.out.println("振入金額入力");
int money = Integer.parseInt(br.readLine());
Class.forName(J_DRIVER);
Connection con = DriverManager.getConnection(URL,USER,PASSWD);
con.setAutoCommit(false);
Statement stmt = con.createStatement();
String sql = "update t_bank_a set zankada";
sql += "zankada" + "money";
sql += "where id="+ "from_id";
int res = stmt.executeUpdate(sql);
if(res == 1) {
sql="update t_bank_b set zandaka";
sql += "zankada"+money;
sql += "where id=" +to_id;
res = stmt.executeUpdate(sql);
if(res == 1) {
con.commit();
System.out.println("處理完了");
}
else {
con.rollback();
System.out.println("發生錯誤(振入先)");
}
}
else {
con.rollback();
System.out.println("發生錯誤(振入元)");
}
con.setAutoCommit(true);
con.close();
}
catch(ClassNotFoundException e) {
System.out.println("JDBC_ERR");
}
catch(SQLException e) {
System.out.println("SQL_ERR");
}
catch(Exception e) {
System.out.println("AP_ERR");
}
}
}
結果出現
振入元id入力
100
振入先id入力
200
振入金額入力
1
SQL_ERR
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/43043.html
標籤:基礎類
