• Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
JDBC Transaction Örneği

 
#1

Bunu bir örnekle pekiştirelim. Teoride anlattığımı uygulamalı olarak bakalım.


/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package jdbc_transtaction;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
 
/**
*
* @author BurakKutbay.com
*/
public class JDBC_Transtaction {
 
    /**
     * @param args the command line arguments
     * @throws java.lang.ClassNotFoundException
     * @throws java.sql.SQLException
     */
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // TODO code application logic here
 
  {
            String driverClass = "sun.jdbc.odbc.JdbcOdbcDriver";
            Class.forName(driverClass);
            String url = "jdbc:odbc:mydatasource";
            String username = "burak";
            String password = "kutbay";
            Connection baglanti;
            baglanti = DriverManager.getConnection(url, username, password);
 
            try {
                double para = 100;
                String id = "Burak";
                baglanti.setAutoCommit(false);
 
                String sorgu = "update Para" + " set Kalan=Kalan-" + para + " where id=" + id;
                Statement stmtFrom = baglanti.createStatement();
                stmtFrom.executeUpdate(sorgu);
                String sorgu2 = "update Para" + " set Kalan=Kalan+" + para + " where id=" + id;
                Statement stmt = baglanti.createStatement();
                int durum = stmt.executeUpdate(sorgu2);
                if (durum > 0) {
                    baglanti.commit();
                    System.out.println("İşlem Tamam");
                } else {
                    baglanti.rollback();
                    System.out.println("İşlem Geri Alındı");
                }
            } catch (SQLException e) {
                baglanti.rollback();
                System.out.println("Geri Alındı");
            }
        }
    }
}


 Örneğimizde yaptığımız işlemleri incelediyseniz veri aktarımı yaparken Transaction’a göre otomatik olarak kapattık, commit ve rollback’leri kullanarak istediğimiz zaman sorgumuzu tümüyle gönderdik eğer bir hata olduğunda ise tüm işlemi iptal ederek geri aldık.



Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  JDBC Configuration efsane 0 1,505 14-11-2017, Saat: 00:22
Son Yorum: efsane
  JDBC Nedir? Giriş dalaylama 0 2,078 11-06-2017, Saat: 23:18
Son Yorum: dalaylama
  JDBC Driver Veritabanı URL’leri sempatik141 0 1,833 11-06-2017, Saat: 23:12
Son Yorum: sempatik141
  JDBC Veritabanı Bağlantısı sempatik141 0 1,803 11-06-2017, Saat: 23:08
Son Yorum: sempatik141
  JDBC Transaction Kavramı sempatik141 0 1,856 11-06-2017, Saat: 23:06
Son Yorum: sempatik141

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2020 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.