in this tutorial will teach you Bank account to account transaction using java The set of one or more sql statements that are executed as a single unit called as transaction.the example is very useful for learning transaction jdbc.the main purpose of writing transaction if any query fails the entire transaction is rolled back.the good example is used to transfer the money from one bank account to another.if the transaction is competed the money is deducted from the first account and added to the second account.while doing the transaction error occurs both account remain unchanged. if the both query is working correctly only transaction commit other wise rollback.
In this example created three different PreparedStatements
PreparedStatement pst;
PreparedStatement pst1;
PreparedStatement pst2;
public bank() { initComponents(); Connect(); } Connection con; PreparedStatement pst; PreparedStatement pst1; PreparedStatement pst2; ResultSet rs; public void Connect() { try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/sambank", "root", ""); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } }
try { String acc1 = txtacc1.getText(); String acc2 = txtacc2.getText(); String Account = txtamount.getText(); Statement st1=con.createStatement( ); con.setAutoCommit(false); //sender String SQL1="update accountholder set balance = balance-? where acc_id = ?"; pst = con.prepareStatement(SQL1); pst.setString(1, Account); pst.setString(2, acc1); pst.executeUpdate(); //receiver String SQL2="update accountholder set balance = balance+? where acc_id = ?"; pst1 = con.prepareStatement(SQL2); pst1.setString(1, Account); pst1.setString(2, acc2); pst1.executeUpdate(); //transer String SQL3="insert into transfer(f_account,to_account,amount)values(?,?,?)"; pst2 = con.prepareStatement(SQL3); pst2.setString(1, acc1); pst2.setString(2, acc2); pst2.setString(3, Account); pst2.executeUpdate(); rs.next(); if(rs.getFloat(1)<0) { con.rollback(); JOptionPane.showMessageDialog(this, "Transaction Failed"); } else { con.commit(); JOptionPane.showMessageDialog(this, "Transaction Success"); } Clear(); } catch (SQLException ex) { JOptionPane.showMessageDialog(this, ex); }
GitHub is a powerful tool used by teams and developers around the globe. This guide is…
It's like having a super-smart buddy that is always there to help you write stories,…
The UK is known for its rich history, diverse culture, and most of all its…
Do you have a plan for your next holiday? Being aware of the Bank Holidays within the…
The world is rapidly changing of software development AI-assisted tools for coding have become the main focus. As…
Google Gemini AI is among the top talked about developments. What exactly is it? What…