package com.godoro.samples.jdbc;
import java.sql.*;
public class TransactionTest {
public static void main(String[] args)
throws Exception
{
String driverClass="sun.jdbc.odbc.JdbcOdbcDriver";
Class.forName(driverClass);
String url="jdbc:odbc:mydatasource";
String username="sa";
String password="godoro";
Connection connection = DriverManager.getConnection(url,username,password);
System.out.println("Connected to database");
try{
double transferAmount=100;
int accountNumFrom=123;
int accountNumTo=321;
connection.setAutoCommit(false);
String sqlFrom="update BankAccount"
+" set Amount=Amount-"+transferAmount
+" where AccountNumber="+accountNumFrom;
Statement stmtFrom=connection.createStatement();
stmtFrom.executeUpdate(sqlFrom);
String sqlTo="update BankAccount"
+" set Amount=Amount+"+transferAmount
+" where AccountNumber="+accountNumTo;
Statement stmtTo=connection.createStatement();
int affected=stmtTo.executeUpdate(sqlTo);
if(affected>0){
connection.commit();
System.out.println("Money transferred");
}else{
connection.rollback();
System.out.println("Transaction rolled back");
}
}catch(Exception e){
e.printStackTrace();
connection.rollback();
System.out.println("Transaction rolled back");
}
}
}
Dosyayı İndir