Skip to main content

Transaction Management in JDBC | JDBC Tutorial

 

Transaction Management in JDBC


For explanation watch video ::




Code::


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Scanner;


public class OracleConn {

public static void main(String[] args) {

String url = "jdbc:oracle:thin:@localhost:1521:orcl";

String uname = "system";

String pwd = "tiger";

// take source account number and dest acc number from user

Scanner scn = new Scanner(System.in);

System.out.println("Enter source acc no: ");

long srcAcNo = scn.nextLong();

System.out.println("Enter dest acc no: ");

long destAcNo = scn.nextLong();


// take the amt to transfer

System.out.println("Enter amt to transfer: ");

long amt = scn.nextLong();

try (Connection con = DriverManager.getConnection(url, uname, pwd); 

Statement st = con.createStatement();) {

// Begin Tx

if (con != null)

con.setAutoCommit(false);


if (st != null) {

// add queries to the batch (executing queries in the batch)

// for withdraw opeation

st.addBatch("update acc set balance=balance-" + amt + " where accno=" + srcAcNo);//1

// for deposite opeation

st.addBatch("update acc set balance=balance+" + amt + "where accno=" + destAcNo);//0

// execut the batch

int result[] = st.executeBatch();

//result = {1,1}


// process the results from TxMgmt

boolean flag = true;

for (int i = 0; i < result.length; ++i) {

if (result[i] == 0) {

flag = false;

break;

}

}

if (flag == true) {

con.commit(); // commit the Transaction

System.out.println("Tx Commited Money Transfered");

} else {

con.rollback(); // rollback the Transaction

System.out.println("Tx rolledback Money  not Transfered");

}

}

} catch (SQLException se) {

System.out.println(se.getMessage());

se.printStackTrace();

} catch (Exception e) {

System.out.println(e.getMessage());

e.printStackTrace();

}

}

}



Comments

Popular posts from this blog

Servlet Project Book Shop Application in eclipse

 Servlet Project Book Shop Application in eclipse  For explanation watch video::: Note :: In this Project you must configure web server (for example tomcat) with eclipse ide Download Bootstrap  from ::         https://getbootstrap.com/docs/4.3/getting-started/download/ Download mysql jar file from :: https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.22 adding MySQL Connector/J jar file in eclipse ide for jdbc video :: video link : https://youtu.be/4Fyd-k3eG_I Directory Structure:: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">   <welcome-file-list>     <welcome-file>home.html</welcome-file>   </welcome-file-list>   <display-...

JDBC basic example For Select Query

JDBC basic example For Select Query  For explanation watch video:  For Creating Table:: SQL> create table emp60(srno int,fname varchar2(10)); Table created. SQL> desc emp60;  Name                                      Null?    Type  ----------------------------------------- -------- ----------------------------  SRNO                                               NUMBER(38)  FNAME                                              VARCHAR2(10) SQL> insert into emp60 values(1,'allu'); 1 row created. SQL> insert into emp60 values(2,'vijay'); 1 row created. SQL> insert into emp60 values(3,'rajni'); 1 row created. SQL...

The PADS Hackerrank Solution - SQL

  The PADS Hackerrank Solution - SQL For Explanation Watch Video :  Oracle::  SELECT  NAME || '(' || SUBSTR(OCCUPATION,1,1) || ')' AS N FROM OCCUPATIONS ORDER BY N; SELECT 'There are a total of ' || COUNT(OCCUPATION) || ' ' || LOWER(OCCUPATION) || 's.' FROM OCCUPATIONS GROUP BY OCCUPATION ORDER BY COUNT(OCCUPATION), OCCUPATION; MySql: ======= SELECT CONCAT(NAME,'(',SUBSTR(OCCUPATION,1,1),')') AS NA FROM OCCUPATIONS ORDER BY NA; SELECT CONCAT('There are a total of ',COUNT(OCCUPATION),' ',LOWER(OCCUPATION),'s.') FROM OCCUPATIONS GROUP BY OCCUPATION ORDER BY COUNT(OCCUPATION), OCCUPATION;