Üst Düzey Programlama



Benzer belgeler
Swing ve JDBC ile Database Erişimi

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

SQL Komutları (2) Uzm. Murat YAZICI

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı İşlemleri

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

STORED PROCEDURE LER (Saklı Yordamlar)

Asp.Net Veritabanı İşlemleri

Veri Tabanı Yönetimi Lab#9

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL

NETBEANS GUI İLE MS SQL İŞLEMLERİ

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Bölüm 10: PHP ile Veritabanı Uygulamaları

SORGULAR. Öğr.Gör.Volkan Altıntaş

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

«BM364» Veritabanı Uygulamaları

C Sharp /Veri tabanı işlemleri

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Veritabanı. Ders 2 VERİTABANI

BLGM 354 DENEY 1 * GİRİŞ

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

1-) Veritabanımıza bağlanmak için bir SqlConnection nesnesi, 2-) Veritabanındaki bilgileri kullanmak (seçme, kaydetme, silme, güncelleme) için

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

MOBİL UYGULAMA GELİŞTİRME

Üst Düzey Programlama

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

İNTERNET PROGRAMCILIĞI DERSİ

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

KULLANICI TANIMLI FONKSİYONLAR (Devam)

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Üst Düzey Programlama

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

KULLANICI TANIMLI FONKSİYONLAR

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

BİLİŞİM TEKNOLOJİLERİ

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Üst Düzey Programlama

Veri Tabanı ve Yönetimi

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

Veri Tabanı Yönetim Sistemleri Bölüm - 3

Üst Düzey Programlama

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

Bölüm 4: DDL Veri Tanımlama Dili

VERİ TABANI ve YÖNETİMİ

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Veritabanı Tasarımı. Seriler ile Çalışma

VERİTABANI. SQL (Structured Query Language)

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

SQL e Giriş. Uzm. Murat YAZICI

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veri Tabanı Hafta Dersi

Veritabanı Tasarımı. Tablo Oluşturma

SORGULAR VE ÇEŞİTLERİ II

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

VERİ TABANI YÖNETİM SİSTEMLERİ

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

KULLANICI TANIMLI FONKSİYONLAR (Devam)

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Veri Tabanı-I 5.Hafta

İnternet Programcılığı

Oracle da kullanılan veri tipleri:

VERİ TABANI ve YÖNETİMİ

Oracle Database 11g: Introduction to SQL

C#.Net & Linq (Language Integrated Query)

YAPISAL SORGULAMA DİLİ (SQL)

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

Ağ programlama (Network programming) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 13 1

Üst Düzey Programlama

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL TRIGGERS (Tetikleyiciler)

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER)

Liquibase ile Veri Tabanı Değişiklik Yönetimi

VERİTABANI ORGANİZASYONU

Veritabanı İşlemleri

Üst Düzey Programlama

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

Transkript:

Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1

JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki sınıfları kullanarak, aynı söz dizilimi ile farklı veritabanlarında işlem yapabilirsiniz. Veritabanı ile ilgili sınıflar java.sql.* paketinde bulunmaktadır. JDBC ile veritabanında işlem yapabilmek için şu adımlar izlenmelidir: Üst Düzey Programlama-ders07/ 2

1- JDBC Sürücüsünü(Driver) Yüklemek Sürücü(driver) veritabanı ile nasıl iletişim yapacağını bilen sınıflardır. Java sınıfları veritabanı işlemlerinde arka planda sürücü içerisindeki sınıfları kullanırlar. Sürücüyü kullanabilmek için uygun sınıfları belleğe yüklememiz yeterlidir. Sürücü sınıfı kendi örneğini oluşturur ve JDBC'nin sürücü yönetici(drivermanager) sınıfına kayıt eder. Üst Düzey Programlama-ders07/ 3

1- JDBC Sürücüsünü(Driver) Yüklemek Örnek sürücü yükleme kodu. try{ Class.forName( com.mysql.jdbc.driver ); Class.forName( oracle.jdbc.driver.oracledriver );... }catch(classnotfoundexception e){ e.printstacktrace(); } Sürücü sınıfı CLASSPATH değişkeni ile ulaşılabilmelidir. Web uygulamalarında sürücü sunucunun kütüphaneleri içerisinde ya da WEB-INF/lib klasöründe olmalıdır. Üst Düzey Programlama-ders07/ 4

1- JDBC Sürücüsünü(Driver) Yüklemek JDBC API Java Uygulaması JDBC Driver Manager JDBC API JDBC-ODBC Bridge Şirkete Özel JDBC Sürücüsü Şirkete Özel ODBC Sürücüsü VT VT Üst Düzey Programlama-ders07/ 5

2- Bağlantı Stringi oluşturmak Bağlanmak istediğimiz veri tabanı sunucusuna özel bağlantı String leri oluşturmamız gereklidir. Bu String ler veritabanına bağlantıda kullanılır. Örnek: String baglantiurl= jdbc:mysql://127.0.0.1/test?user=root&password=a ; Üst Düzey Programlama-ders07/ 6

3- Bağlantı Oluşturma Sunucuya bağlanma Örnek: Connection baglanti = DriverManager.getConnection(baglantiURL); Herhangi bir problemde SQLException fırlatılır. Bu Exception değerlendirilmelidir. Üst Düzey Programlama-ders07/ 7

4- İfade Oluşturma Veritabanına yapacağı işleri söylemek için kullanılan(sql veya komut) sınıftır. Örnek: Statement ifade = baglanti.createstatement(); Üst Düzey Programlama-ders07/ 8

5- Bir sorgu ya da güncelleme icra etme Sorgunun çalıştırılması Örnek: String sorgu = Select * from tablo1 ; ResultSet sonuckumesi = ifade.executequery(sorgu); Üst Düzey Programlama-ders07/ 9

5- Bir sorgu ya da güncelleme icra etme *executequery(): sorgu çalıştırır ve geriye ResultSet çevirir, bu küme boş olabilir fakat null olmaz. *executeupdate(): UPDATE,INSERT,DELETE sorguları için kullanılır. Geriye etkilenen satır sayısı çevrilir. Ayrıca CREATE TABLE, DROP TABLE, ALTER TABLE gibi DDL sorgularını da icra eder. *setquerytimeout(): Sürücünün SQLException oluşturmadan önce ne kadar süre bekleyeceğini belirtir. *setmaxrows(): Sonuç kümesinin maksimum kaç satır olacağını belirtir. Fazlası kesilir. Üst Düzey Programlama-ders07/ 10

Üst Düzey Programlama-ders07/ 11

Üst Düzey Programlama-ders07/ 12

6- Sonuç Verilerini İşlemek Sonuç ResultSet nesnesinin satırlarından oluşur. Her satırda bulunan sütunlar 1 numaralı indisten başlar. Sonuç kümesinden belirli bir sütun bilgisini almak için getxxx (sütun no ya da sütun adı) metotları kullanılır. getstring(1), getinteger(2) vb. Tüm sonuç kümesini dolaşmak için; while(sonuckumesi.next()){ System.out.println(sonucKumesi.getString(1)); } Üst Düzey Programlama-ders07/ 13

6- Sonuç Verilerini İşlemek *next/previous : sonraki ve önceki kayıta gider. *relative/absolute: belirli bir satıra gider. *getxxx(): sütun değerini verir. *findcolumn(sütun adı): sütunun indis numarasını verir. *getrow(): mevcut satır numarasını verir. *getmetadata: ResultSetMetaData nesnesi geriye çevirir. Bu nesne sonuç kümesi hakkında bilgi içerir. Üst Düzey Programlama-ders07/ 14

7- Bağlantıyı Kapatmak baglanti.close(); Bu bağlantı ile ilgili olan diğer nesnelerde (ResultSet,Statement) kapatılır. Bağlantı açılması ve kapatılması sistem yük getirdiği için genellikle uygulama başında açılır ve uygulama sonlandırıldığında kapatılır. Üst Düzey Programlama-ders07/ 15

Hazırlanmış İfadelerin Kullanılması (Prepared Statement) Aynı SQL ifadesini çok kez çalıştıracaksanız, bu sorguyu parametreli ifade haline getirerek kullanmanız uygulamanın etkinliğini arttıracaktır. Hazırlanmış sorgular veritabanı sunucusunda derlenip saklandıkları için daha performanslı çalışırlar. String sorgu= UPDATE tablo1 SET soyad=? where id=? ; PreparedStatement ifade = baglanti.preparestatement(sorgu); ifade.setstring(1, BBB ); ifade.setint(2,3); ifade.executeupdate(); Üst Düzey Programlama-ders07/ 16

Üst Düzey Programlama-ders07/ 17

Üst Düzey Programlama-ders07/ 18

Çağrılabilir İfadeler (Callable Statements)- Stored Procedures CallableStatement nesnedi ile veri tabanında bulunan bir stored procedure/function çalıştırılabilir. Stored procedure ve stored function veritabanında saklanılan özel yazım şekli olan prosedür ve fonksiyonlardır. Normal SQL sorgularına göre daha hızlı çalışırlar. Performans ve güvenlik için kullanılırlar. Tipleri: {call prosedür_adı} //parametresiz {call prosedür_adı(?,?,...)} //parametreli {?=call prosedür_adı} //parametresiz, geri dönüşlü {?=call prosedür_adı(?,?,...)} //parametreli, geri dönüşlü Üst Düzey Programlama-ders07/ 19

Genel kullanım şekli: Çağrılabilir İfadeler (Callable Statements)- Stored Procedures String prosedur= {?=call prosedur_adi(?,?)} ; CallableStatement ifade = baglanti.preparecall(prosedur); ifade.setstring(2, ad ); ifade.setfloat(3,120.0); ifade.execute(); Geri Dönüş Değerini almak için örneğin; int deger = ifade.getint(1); Üst Düzey Programlama-ders07/ 20

Üst Düzey Programlama-ders07/ 21

Üst Düzey Programlama-ders07/ 22

Üst Düzey Programlama-ders07/ 23

Veritabanı Hareket(Transaction) Kullanımı Bir veritabanı güncellendiğinde değişiklikler kalıcı olarak yazılır. Bu varsayılan özelliği program kodumuz ile değiştirebiliriz. Otomatik kayıt işlemini durdururuz. Değişiklikler ve güncellemeleri yaparız ve daha sonra değişikliklerin veritabanına kalıcı olarak yazılmasını ya da yapılan tüm değişikliklerin iptal edilmesini söyleriz. Bu işleme hareket yönetimi (transaction management) adı verilir. Üst Düzey Programlama-ders07/ 24

Veritabanı Hareket(Transaction) Kullanımı Birden fazla veri tabanı işlemlerinin ya hepsinin yapılması ya da hiçbirinin yapılmaması için transaction mekanizması kullanılır. Veritabanı bütünlüğü korunur. Veritabanının varsayılan bağlantısı veritabanı güncellemelerini kendiliğinden gerçekleştirir (autocommit). Her çalıştırılan ifade(statement) kendiliğinden veritabanında değişikliğe sebep olur. Hareket (Transaction) yönetimi için bu özellik iptal edilmelidir. Bu işlem için bağlantı (connection) nesnesinin setautocommit(false) metodu çalıştırılır. Üst Düzey Programlama-ders07/ 25

Veritabanı Hareket(Transaction) Kullanımı İşlemler sonucunda değişikliklerin veritabanına gerçekleştirilmesi için bağlantı(connection) nesnesinin commit() metodu, hata olduğunda tüm işlemlerin olmaması içinde rollback() metodu çalıştırılır. Üst Düzey Programlama-ders07/ 26

Veritabanı Hareket(Transaction) Kullanımı Genel kullanım: Connection baglanti = DriverManager.getConnection(url); boolean otomatikcommit = baglanti.getautocommit(); Statement ifade; try{ baglanti.setautocommit(false); ifade = connection.createstatement(); ifade.execute(); ifade.execute();... baglanti.commit(); }catch(sqlexception e){ baglanti.rollback(); }finally{ ifade.close(); baglanti.setautocommit(otomatikcommit); } Üst Düzey Programlama-ders07/ 27

Üst Düzey Programlama-ders07/ 28

Üst Düzey Programlama-ders07/ 29

Üst Düzey Programlama-ders07/ 30

Üst Düzey Programlama-ders07/ 31

Üst Düzey Programlama-ders07/ 32

JSTL etiketleri bu parametreyi kullanir Üst Düzey Programlama-ders07/ 33

Üst Düzey Programlama-ders07/ 34

Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 35