ibatis AFŞIN AKDOĞAN Hacettepe Üniversitesi Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "ibatis AFŞIN AKDOĞAN 20221432 Hacettepe Üniversitesi Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği"

Transkript

1 ibatis AFŞIN AKDOĞAN Hacettepe Üniversitesi Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği 2006

2 İÇİNDEKİLER 1.iBatis Veri Haritalayıcısı (Data Mapper) Burada ne anlatılmaktadır? Ana Konu ibatis ne yapar? ibatis nasıl çalışır? Veri Haritalarıyla Çalışmak Veri Haritası bilgi kütükleri neleri içerir? Haritalanmış ifadeler İfade türleri ParameterMap ve satıriçi parametreler ResultMap Java Geliştirici Rehberi Java için ibatis Veri Haritalayıcısını yüklemek Java için Veri Haritalayıcısının konfigürasyonu Veri Haritalayıcısı istemcileri Veri Haritalayıcı konfigürasyon kütüğü (SqlMapConfig.xml) Veri Haritalayıcı konfigürasyon elemanları <properties> elemanı <properties> nitelikeleri <settings> elemanı <typealias> elemanı <typealias> nitelikleri Daha önceden tanımlanmış lakaplar <transactionmanager> Elemanı <datasource> Elemanı (transactionmanger la birlikte) <sqlmap> Elemanı ibatis Veri Haritalayıcısı ile Programlama : Java API Konfigürasyon Hareketler Global (Dağıtılmış) Hareketler Kümeler İfadelerin İşletilmesi insert(), update(), delete(): queryforobject(): queryforlist(): queryformap(): Örnekler Örnek Uygulama Eklentiler...26 Kaynaklar...27 Terimler Sözlüğü

3 1.iBatis Veri Haritalayıcısı ibatis çatısı, Java ve.net geliştiricilerine veriye ulaşmada yardımcı olmak amacıyla hazırlanmış açık kaynak bileşenlerinden oluşan bir yapıdır. İlişkisel veritabanına erişim sırasında genel olarak kullanılan yol JDBC yaklaşımıdır. Fakat bu yöntem okunurluğu az, gereğinden fazla şişmiş ve iş mantığı üzerinde bir etkisi olmayan karmaşık kodlar ortaya çıkarmaktadır. SQL Maps, bu yaklaşımla birlikte gelen fazla kodları azaltmayı sağlar(not:sql Map ları kullanmak için JavaBean ler, XML ve SQL ile aşina olmanız yeterlidir). 1.1.Burada ne anlatılmaktadır? Bu döküman ibatis Data Mapper ın Java ve.net uygulamalarını içermektedir. Java için ibatis Data Mapper versiyon 2.x Örnek uygulamaları da bu dökümanda bulabilirsiniz. Size tavsiyemiz bu dökümanı okumadan önce kendi platformunuz için hazırlanan örnek uygulamalara bakmanızdır. 2.Ana Konu ibatis, nesneleri SQL ifadelerine haritalamada(map) kolaylık sağlayan basit ama tam bir çatıdır. ibatis i geliştiren ekibin temel felsefesi : veriye erişimde %80 fonksiyonelliği %20 kod kullanark sağlamaktır ibatis ne yapar? Geliştiriciler çoğu zaman bir uygulamanın içindeki nesneler arasında haritalar yaratırlar. Haritalayıcı(Mapper) denince anlaşılan anlamlardan biri, iki bağımsız nesne arasındaki iletişimi sağlayan nesne olarak bilinir. Veri Haritalayıcı (A Data Mapper) ise verileri nesneler ve veritabanı arasında taşıyan ve bunu yaparken aradaki bağımsızlığı sağlayıp, koruyan bir haritalayıcı katmandır. Siz veritabanı ve nesneleri sağlarken; ibatis bu ikisi arasındaki haritalama katmanı görevini yerine getirir ibatis nasıl çalışır? Çalışıtığınız platform size veritabanına erişmek amacıyla bazı araçları sağlamaktadır. Bu araçlar SQL ifadeleri ya da mevcut fonksiyonlardır. Fakat JDBC kullanırken geliştiriciler için hala bazı zorluklar mevcuttur, bunlar: SQL ve program kodlarını birbirinden ayırmak Kütüphane sınıflarına parametre geçmek İş mantığı içeren sınıfları ve veriye erişimi sağlayan sınıfları birbirinden ayırmak Sık kulanılan verilere erişimde tekrar tekrar erişim yapmayarak performası arttırmak Hareketleri (transaction) yönetmek. 3

4 ibatis Data Mapper bu ve bunun gibi pek çok problemi geleneksel nesneler(plain-old objects) ve SQL ifadeleri arasında XML belgeleri kullanarak çözmektedir. Geleneksel nesneler (Java kullanıyorsanız) berhangi bir harita veya JavaBean ya da (.NET kullanıyorsanız) Idictionary veya özellik nesnesi(property object) olabilir. İpucu Nesnenin özel bir nesne hiyerarşisine ait olmasına veya özel bir arayüzü gerçekleştirmesine gerek yoktur (Bu neden onları Geleneksel Nesne olarak adlandırdığımızı açıklamaktadır). Şekil 1. ibatis Veri Haritalayıcısı İş Akışı Şekil 1 tarafından gösterilen iş akışının üst düzey açıklaması; 1. Ya bir nesne ya da belirgin(native) bir tür olan bir parametrenin sunulması. Bu parametre SQL ifadelerinin veya mevcut fonksiyonların gerçek zamandaki değerlerini vermede kullanılır. Eğer gerçek zamanlı bir değere ihtiyaç yoksa bu parametre ihmal edilebilir. 2. Parametre geçilen değer ve XML betimleyici içindeki adını sizin verdiğiniz SQL ifadesi ile haritalamayı çalıştırılır. Bu adım mantığın işlediği adımdır. Kullanılan çatı daha önce parametre olarak geçilen değeri de kullanark gerçek zamanlı değerleri de koyarak SQL ifadesini veya mevcut fonksiyonu hazırlar. H azırlanan bu ifade veya fonksiyonu işletir, sonuçlarını elde eder ve geri döndürür. 3. Herhangi bir update işlemi gerçekleştiğinde, bu işlemden etkilenen satır sayısı geri döndürülür. Herhangi bir sorguda tek bir nesne veya bir nesne kümesi sorgu sonucu olarak geri dönebilir. Tıpkı parametre gibi sonuçta dönen nesne veya nesne kümesi, geleneksel bir nesne veya belirli bir türde olabilir. Aynı zamanda sonuç XML olarak da verilebilir. Peki bu anlatılanlar kaynak kodunda nasıl görünecektir? Burada lineitem nesnesinin veritabanına ekleme işini gerçekleştiren örnek bir kod parçası görceksiniz. Eğer veritabanınız birincil anahtarlar(primary key) üretiyor ise bu üretilen anahtar aşağıdaki fonksiyonun çağırılmasıyla geri döndürülebilir, 4

5 Örnek 1 XML betimleyicinin InsertLineItem için kullanımını gösterir Örnek 1. "InsertLineItem" betimleyicisi <selectkey> SQL Sunucu veritabanı tarafından otamatik olarak üretilen bir anahtar döndürür. Eğer birden fazla satırı veritabanından çekmek isterseniz, ibatis her biri sonuç kümesinde tek tek bir satıra haritalanmış bir nesne listesi döndürür. Bölüm 3 Data Map bilgi kütükleri bu bölümde "InsertLineItem" için gerekli açıklamalar tanımlanmıştır. Bölüm 4 ve 5 Geliştirici Rehberi ibatis in uygulamanıza adapte olması için gerekli konfigürasyon kütüklerini anlatmaktadır. 3. Veri Haritalarıyla Çalışmak Eğer ibatis i nasıl yükleyeceğinizi ve nasıl konfigürasyon yapacağınızı öğrenmek istiyorsanız, Geliştirici Rehberi ne bakınız (Bölüm 4 veya 5). Fakat ibatis in gerçekte nasıl çalıştığını öğrenmek istiyorsanız bu bölüme devam ediniz. Data Map bilgi kütükleri uygulamaya dönük daha ilgi çekici bir konudur. Burada veritabanı ile geliştirdiğiniz uygulamanın nasıl birlikte çalışıcağı anlatılmaktadır. Daha önce de belirtildiği gibi Data Map bilgi kütükleri denilen şey aslında XML betimleyici kütükleridir. ibatis tarafından sunulan hizmetleri kullanarak, XML betimleyicilerini birer istemci nesnelerini haline getirmekteyiz. Data Maplere erişmek için uygulamanız sunucu nesnesini çağırır. ibatis kullanırken yapılan esas iş çoğunlukla uygulama kodunda değilidir, bunun yerine ibatis tarafından dönüştürülen XML betimleyicilerindedir. Bu uygulamanın kaynak koduyla 5

6 uğraşmak yerine daha çok XML betimleyiciyle çalışılması anlamına gelmektedir. Bunun yararı ise nesnleri veritabanına haritalamanın bu yolla daha kolay olmasıdır Veri Haritası bilgi kütükleri neleri içerir? Eğer örnek uygulamarı okuduysanız, Data Map ile ilgili bazı basit örnekleri görmüşsünüzdür, tıpkı aşağıdaki örnekte olduğu gibi. sqlmap name="lineitem" xmlns:xsi="http://www.w3.org/2001/xmlschemainstance" xsi:nonamespaceschemalocation="http://ibatisnet.sf.net/schemav1/sqlmap.x sd"> <alias> <typealias alias="lineitem" assembly="npetshop.domain.dll" class="npetshop.domain.billing.lineitem" /> </alias> <statements> <insert id="insertlineitem" parameterclass="lineitem"> INSERT INTO [LinesItem] (Order_Id, LineItem_LineNum, Item_Id, LineItem_Quantity, LineItem_UnitPrice) VALUES (#Order.Id#, #LineNumber#, #Item.Id#, #Quantity#, #Item.ListPrice#) </insert> </statements> </sqlmap> Örnek 2..NET için Veri Haritası Bu harita LineItem örneğinin bazı özelliklerini almış ve SQL ifadesi içerisinde değerleri birleştirmiştir. Şimdi de Örnek 3 te basit bir select ifadesini göreceğiz Örnek 3. Java için Veri Haritası örneği 6

7 3.2. Haritalanmış ifadeler Haritalanmış ifadeler herhangi bir SQL ifadesini tutabilir ve girdi-çıktı amacıyla Parametre Haritalarını ve Sonuç Haritalarını kullanabilir. Basit bir durumda haritalanmış ifade bir parametreyi veya sonuç sınıflarını direk referans olarak gösterebilir. Haritalanmış ifadeler aynı zamanda caching yeteneğin de sahiptirler. Örnek 4. ifadeler için örnek sözdizim Örnek 5 te [ ] arasına alınmış ifadeler opsiyoneldir. Bazı durumlarda sadece kısıtlı ifadelere izin verilir. Örnek 6 da görüldüğü gibi basit Haritalanmış ifadeler ise tamamen yasaldır. Örnek 5. Basit Bir Haritalanmış İfade Örnek 6 da açıkça görülüyorki ibatis i bazı keyfi SQL ifadelerini gerçekleştirmede kullanabilirsiniz. 7

8 İfade türleri Örneklerde görülen <statement> ifadesi genel bir yaklaşımı karşılamaktadır. Bu ifade SQL ifadesinin herhangi bir türü için kullanılabilir. Genelde bu tarz bütünü kapsayan bir ifade kullanmak yerine daha özelleşmiş bir ifade kullanmak tercih edilir. Özelleşmiş(spesifik) elemanların kullanımı genel ifadeleri kullanmaya göre daha fazla özellik sağlayabilir. Tablo 1 ifade-türleri ni ve onların niteliklerini ve özelliklerini özetlemektedir. İfade <statement> Nitelikler id parameterclass resultclass parametermap resultmap cachemodel xmlresultname All dynamic elements Çocuk Elemanlar insert update delete Fonksiyonlar All query methods <insert> id parameterclass parametermap All dynamic elements <selectkey> insert update delete <update> id parameterclass parametermap All dynamic elements insert update delete <delete> id parameterclass parametermap All dynamic elements insert update delete <select> id parameterclass resultclass parametermap resultmap cachemodel All dynamic elements All query methods <procedure> id parameterclass resultclass parametermap resultmap xmlresultname All dynamic elements insert update delete All query methods Tablo 1. İfade türleri 8

9 3.3. ParameterMap ve satıriçi parametreler Bir çok SQL ifadesi kullanışlıdır, çünkü gerçek zamanlı olarak bu ifadelere parametre geçilebilir. Örneğin biri 42 No lu kaydı veritabanından çekmek istiyor. Eğer 42 değeri başta elimizde yoksa gerçek zamanlı olarak bu değer SQL ifadesine verilebilir. JDBC kullanark bu yapıldığında 42 değeri yerine? konur. Bu? yerine daha sonra üretilen değer konabilir. Bir veya daha çok parametre bu şekilde gerçek zamanlı olarak parametre geçilebilir, ancak bunu yapabilmek için parametreler sıralı olarak girilmelidir. Bu basit olmasına rağmen yoğun emek isteyen ve geliştiricilerin fazlaca zamanını alan bir iştir. Parametre Haritalayıcı SQL ifadesine parametre olarak geçilecek değerleri verebilmek için sıralı bir liste tutar. Bu aşamada da harita tarafından açıkça belirtilen nitelikler doğru sırada verilmeli ve her bir parametre isimlendirilmelidir. Parametre Haritaları dış eleman ve satıriçi olarak sağlanabilirler. Aşağıdaki örnek dış parametre haritasına bir örnektir. <!-- Java --> <parametermap id= parametermapname [class= classname ]>[type= String ] <parameter property = propertyname [jdbctype= VARCHAR ] [javatype= String ] [nullvalue= NUMERIC ] [null= ]/> <parameter /> <parameter /> </parametermap> <!--.NET --> <parametermap id= parametermapname [class= classname ]> <parameter property = propertyname [dbtype= VARCHAR ] [nullvalue= NUMERIC ] [null= ]/> <parameter /> <parameter />database columns </parametermap> Örnek 6. dış Parametre haritası Örnek te [ ] arasına alınmış ifadeler opsiyoneldir. ParameterMap elemanı sadece id niteliğine ihtiyaç duymaktadır. Class niteliği ise opsiyonel ama gereklidir. Class niteliği gelen parametreyi onaylamada ve performansı arttırmada yardımcıdır. Aşağıdaki örnek <parametremap> için tipik bir örnektir. 9

10 3.4. Result Map Bölüm 3.3 de ParameterMap ve Satıriçi parametreler anlatıldı. Anlatıldığı gibi bunlar nesnenin özelliklerini veritabanı sorgusuna haritalamayı sağlayan kullanımlardı. Result Map veritabanı sorgusu sonucunda oluşan sonuçları nesne özelliklerine haritalayarak işi bitirir. ResultMap ler verinin sorgu sonucundan nasıl çekildiğini ve kolonların nesne özelliklerine nasıl haritandığını kontrol etme imkanı verir. Aşağıdaki örnek bir result map elemanının genel yapısını göstermektedir. Örnek 7. Bir Result Map elemanının genel yapısı Örnekte [] içine alınmış alanlar opsiyoneldir. Id niteliği mutlaka kullanılmalıdır. Bunun sebebi ifade ye referans göstermek için gerekli ismi sağlamasıdır. Aynı zamanda class niteliği de gereklidir. Class niteliği bir sınıfın tam ismini vermektedir. 10

11 4. Java Geliştirici Rehberi 4.1. Java için ibatis Veri Haritalayıcısını yüklemek Java için ibatis Veri Haritalayıcısını bilgisayarınıza yüklemek için classpath e gerekli.jar kütüklerini eklemelisiniz. Bu ya JVM nin açılış zamanında açıkça belirtilen classpath olabilir ya da web uygulamaları altındaki WEB-INF/lib dizini olabilir. Eğer Java ve/veya classpath kavramları için yeni iseniz aşağıda linkleri verilen web sitelerinden gerekli bilgileri öğrenebilirsiniz. ibatis Veri Haritalayıcısı classpath de olması gereken JAR kütüklerini kendiyle birlikte getirmektedir. Bu JAR kütükleri; Kütük adı ibatis-common.jar ibatis-sqlmap.jar ibatis-dao-1-x-x-b.jar ibatis-compat Açıklama ibatis in genel özellikleri ibatis Veri Haritalayıcı çatısı Veriye erişimde geriye dönük uyumluluğu sağlamak için Java için geriye dönük uyumluluğu sağlamak için Gerekli mi? evet evet hayır hayır Tablo 2. ibatis Veri Haritalayıcısı tarafından kullanılan JAR kütükleri 4.2. Java için Veri Haritalayıcısının konfigürasyonu XML betimleyicisi, sahip olduğunuz veri, veri haritaları veya hareketlere ait ayrıntıları içerir. ibatis Veri Haritalayacısının konfigürasyonu bu XML betimleyicisini kullanarak yapılır. Çalışma zamanında geliştirmiş olduğunuz uygulama kodunuz bir ibatis kütüphanesi çağırır. Bu çağırılan kütüphane ana konfigürasyon kütüğünü okur ve parçalara ayırır. Diğer XML betimleyicileri referans ile bu işleme dahil edilebilir ancak her bir Veri Haritalayıcı istemci örneği tek bir konfigürasyon kütüğü tarafından başlatılırlar Veri Haritalayıcısı istemcileri Her bir Veri Haritalayıcısı ( SqlMapClient ın örneği ) tek bir konfigürasyon kütüğünün okunmasıyla yaratılır. Her bir konfigürasyon kütüğü sadece tek bir veritabanı veya veri kaynağını belirtebilir. Yinede uygulamanızda birden çok Veri Haritalayıcı istemcisini kullanabilirsiniz. Bunun için sadece başka bir konfigürasyon kütüğü yaratın ve Veri Haritalayıcı istemcisi yaratıldığında, kütüğün ismini bu konfigürasyon kütüğüne vermeniz. Bu konfigürasyon kütükleri aynı veritabanında farklı bir hesabı kullanabildiği gibi farklı sunucular üzerinde bulunan farklı veritabanlarını da kullabilir. 11

12 Veri Haritalayıcı konfigürasyon kütüğü (SqlMapConfig.xml) Aşağıda konfigürasyon kütüğüne bir örnek bulunmaktadır. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE sqlmapconfig PUBLIC "-//ibatis.com//dtd SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlmapconfig> <properties resource="properties/database.properties"/> <settings cachemodelsenabled="true" enhancementenabled="true" maxsessions="64" maxtransactions="8" maxrequests="128"/> <transactionmanager type="jdbc"> <datasource type="simple"> <property value="${driver}" name="jdbc.driver"/> <property value="${url}" name="jdbc.connectionurl"/> <property value="${username}" name="jdbc.username"/> <property value="${password}" name="jdbc.password"/> <property value="15" name="pool.maximumactiveconnections"/> <property value="15" name="pool.maximumidleconnections"/> <property value="1000" name="pool.maximumwait"/> </datasource> </transactionmanager> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/account.xml"/ > <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/category.xml" /> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/product.xml"/ > <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/sequence.xml" /> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/lineitem.xml" /> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/order.xml"/> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/item.xml"/> </sqlmapconfig> Örnek 8. SqlMapConfig.xml (Java) Veri Haritalayıcı konfigürasyon elemanları Bundan sonraki birkaç bölüm java için gerekli konfigürasyon kütüğünü ve bu kütüğün elemanlarını anlatacaktır <properties> elemanı Bazen XML konfigürasyon kütüğü içindeki değerler 12

13 Geliştirdiğimiz uygulamayı bir sunucudan başka bir sunucuya taşıdığımızda çoğu zaman XML konfigürasyon kütüğü içindeki değerler de değişikliğe uğrarlar. XML konfigürasyon kütüğü içindeki bu değerleri bütünlüğü bozmadan yötebilmek için, Veri Haritalayıcı konfigürasyonun bir parçası olarak standart bir özellikler (properties) kütüğü yaratabilirsiniz (name=value). Özellikler kütüğündeki her bir isimlendirilmiş değer artık bir kabuk olrak anılır. Artık bu değerler Veri Haritalayıcı konfigürasyonu boyunca kullanılabilirler (Bu konudaki gerekli açıklamalar bölüm 3 de açıklanmıştır). Örneğin Veri Haritalayıcı konfigürayonundaki veri haritası içeren herhangi bir eleman ${username} değişkenini, değeri ibatis e eklemek için kullanabilir. Örneğin Özellikler classpath ten veya tanımlı herhangi bir URL den yüklenebilir. Örneğin <properties> nitelikeleri resource ve url niteliklerinden birini içeren ancak tek bir <properties> elemanı olabilir. resource classpath üzerinde herhangi bir yerde bulanabilen özellikler kütüğü url yerel kütük sisteminde bulunan özellikler <settings> elemanı Çatı tarafından kullanılan belirli sayıda minimumlar, maksimumlar ve diğer ayarlar bulunmaktadır. Bir uygulama için öngörülmüş ayarlar diğer bir uygulama için uygun olmayabilir. <settings> elemanı size bu seçenekleri ayarlamanıza ve XML dökümanı tarafından yaratılan SqlMapClient örneğinin optimizasyona olanak sağlar. Bütün ayarların başlangıçta varsayılan değerleri vardır, ama bu ayarları tamamiyle veya bazı nitelikelerini çıkarabilirsiniz. Aşağıdaki tabloda gerekli ayarları, bunların davranışlarını ve örneklerini bulabilirsiniz. cachemodelsenabled Bu ayar global olarak SqlMapClient için tüm cache modelleri etkin hale getirir ya da tam tersini yapar. usestatementnamespaces (Java) Bu seçeneğin etkin hale gelmesiyle, haritalanmış ifadeleri onların tam isimleriyle referans göstermek zorunluluğunu getirmiş olursunuz. Tam isim dediğimiz sqlmap adı ve ifadenin adından oluşmaktadır.örneğin maxrequests Bu bir SQL ifadesinin bir anda işletebileceği maksimum 13

14 thread sayısıdır.farklı Veritabanı Yönetim Sistemlerinin farklı limitleri vardır. Ancak bu limitleri içemeyen bir veritabanı olamaz. Bu değer genelde maxtransactions sayısının 10 katı, aynı zamanda hem maxsessions hem de maxtransactions sayısından daha fazla olmalıdır. Raslantısal olarak ortaya çıkan istemleri azaltmak performansın artmasını sağlamaktadır. maxsessions Bu belirli bir anda aktif olabilecek maksimum oturum sayısını belirtir. Bu sayı maxtransactions sayısında eşit veya büyük ve maxrequests sayısından küçük olmalıdır. maxtransactions Bu bir anda SqlMapClient.startTransaction() a dahil olabilen maksimum thread sayısıdır. lazyloadingenabled Bu ayar global olarak SqlMapClient lar için tüm yavaş yüklemeleri etkin hale getirir ya da tam tersini yapar. enhancementenabled İdeal JavaBean erişimleri için byte kodu etkin hale getirir. errortracingenabled TODO Tablo 3. <settings> elemanının nitelikleri <typealias> elemanı typealias elemanı tüm sınıf ismini yazmak yerine daha kısa olarak tanımlamanızı sağlar. Örneğin Örnek 9. ytpealias Yukarıdaki örnekte tüm sınıf ismini yazmak yerine account ya da Account yazmak yeterlidir <typealias> nitelikleri <typealais> elemanının iki tane gerekli niteliği vardır: alias biricik bir belirteçtir. class paket referansını da içeren tüm sınıf ismi 14

15 Daha önceden tanımlanmış lakaplar Java için tanımlanmış bir kaç çeşit lakap(alias) vardır. Örnek 10. Transaction Manager Lakapları (Java) Örnek 11. Data Source Factory Lakapları (Java) <transactionmanager> elemanı.net sadece ADO tarafından kontrol edilen hareketleri desteklemektedir. Sadece tek bir yöneticinin olması sebebiyle TransactionManager elemanı.net tarafından desteklenmemektedir. Bu sebeble burdaki örnekler sadece Java üzerinden verilecektir <datasource> elemanı (transactionmanger la birlikte) Java gerçekleştirimi üç adet DataSource fabrikası sağlamaktadır. Aynı zamanda kendinizinkini yazabilirsiniz. <transactionmanager type="jdbc"> <datasource type="simple"> <property name="jdbc.driver" value="org.postgresql. Örnek 2. SimpleDataSourceFactory için TransactionManager elemanı (Java) <transactionmanager type="jdbc"> <datasource type="dbcp"> <property name="jdbc.driver" value="${driver}"/> Örnek 13. DbcpDataSourceFactory için TransactionManager elemanı (Java) <transactionmanager type="jdbc" > <datasource type="jndi"> <property name="datasource" value="java:comp/env/ Örnek 14. JndiDataSourceFactory için TransactionManager elemanı (Java) <transactionmanager type="jta" > <property name="usertransaction" value="java:/ctx/con/usertransaction"/> Örnek 15. global transactions için konfigüre edilmiş TransactionManager elemanı(java) 15

16 <sqlmap> elemanı Günümüzde pek çok iş Veri Haritaları kullanılarak yapılmaktadır. Veri Haritaları sizin uygulamalarınız tarafından kullanılan mevcut fonksiyonlar veya SQL ifadelerini tanımlar. Aynı zamanda Parameter ve Result nesneleri Veri Haritasının bir parçası olarak tanımlanırlar. Uygulamanız geliştikçe bir kaç çeşit Veri Haritasına gereksinim duyabilirsiniz. Pek çok Herhangi bir sayıda Veri Haritasını yaratabilirsiniz. Veri Haritalarının artmasıyla bütünlüğü koruyabilmek ve onları birleştirmek için Veri Haritalayıcı konfigürasyon kütüğüne referans göstermelisiniz. Veri Haritalayıcıları tarafından kullanılan tüm bu bilgi kütükleri konfigürasyon kütüğünde listelenmelidir. Örnek 32 Bir Veri Haritası kümesinin URL den veya classpath ten yüklenmek için <sqlmap> elemanını göstermektedir. <!-- CLASSPATH RESOURCES (Java) --> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/category.xml"/> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/product.xml"/> <!-- URL RESOURCES (absolute) --> <sqlmap url="file:///c:/config/category.xml" /> <sqlmap url="file:///c:/config/product.xml" /> <!-- URL RESOURCES (relative) --> <sqlmap file="maps/category.xml"/> <sqlmap file="mmps/product.xml"/> Örnek 16. Veri Haritası elemanı 4.3. ibatis Veri Haritalayıcısı ile Programlama : Java API SqlMap istemci API sı basit ve çok küçüktür. Dört adet işleme izin verir; 1- Veri Haritasının konfigürasyonu 2- SQL update komutunun işletilmesi. 3- Tek bir nesne için bir sorgunun işletilmesi 4-Liste halindeki nesneler kümesi için bir sorgunun işletilmesi Konfigürasyon ibatis Veri Haritalayıcısının konfigürasyonu, bir kere Veri Haritası bilgi kütüklerini ve Veri Haritalayıcı konfigürasyon kütüğünü yarattıktan sonra çok kolay bir işlem haline gelir. SqlMapClient örnekleri SqlMapClientBuilder kullanılarak yapılırlar. Bu sınıfın buildsqlmap() adıyla anılan bir tane özel statik metodu vardır. buildsqlmap() metodu sqlmap-config.xml kütüğünü okuyacak bir okuyucu parametre olarak alır(aşağıdaki örnekte açıkça gösterilmektedir). 16

17 Hareketler Bir SqlMapClient örneği nezaman bir executexxxx() metodunu çağırsa sadece tek bir iş yapılır. Bu ideal bir yaklaşım deeğildir. Çünkü eğer işin tek bir parçasını yapacak olan birden çok ifadeniz varsa bu demek oluyorki ya başarılı luncak ya da grup olarak başarısız oluncak. Bu neden Hareketleri kullandığımızı açıklamaktadır. Eğer global, performansı arttırmanın yanı sıra veritabanına erişim trafiğini de oldukça azaltmaktadır. SqlMapClient arayüzü size bazı sınırlamalar getirme konusunda yardımcı metodlara sahiptir. Bir hareket SqlMapClient arayüzündeki aşağıda gösterilen metodları kullanarak başlatılabilir, işletilebilir... Bir hareket başlatarak bağlantı havuzundan bir tane bağlantı edinmiş olursunuz. Aynı zamanda SQL sorgularını işletebilmek için bu bağlantıyı açmış olursunuz. private Reader reader = new Resources.getResourceAsReader ("com/ibatis/example/sqlmapconfig.xml"); private SqlMapClient sqlmap = XmlSqlMapBuilder.buildSqlMap(reader); public updateitemdescription (String itemid, String newdescription)throws SQLException { try { sqlmap.starttransaction (); Item item = (Item) sqlmap.queryforobject ("getitem", itemid); item.setdescription (newdescription); sqlmap.update ("updateitem", item); sqlmap.committransaction (); } finally { sqlmap.endtransaction (); } } Örnek 17. Hareketlerin kullanımı Not : endtransaction() metodunun ne olursa olsun (bie aykırı durum oluşsa bile) çağırıldığına dikkat ediniz. Bu bütünlüğü sağlamak için önemli bir adımdır. Kural : eğer starttransaction() metodunu çağırdıysanız mutlaka endtransaction() metodunu da çağırmalısınız. Not : Hareketler içiçe olacak şekilde olamaz. Bir thread ten commit() veya rollback() metodları çağırılmadan birden çok starttransaction() metodu çağırılıyor ise bu bir aykırı duruma sebep olacaktır. Diğer bir deyişle her bir SqlMapClient başına her bir thread en çok bir tane hareket başlatabilir. Not: SqlMapClient hareketleri Java nın kendi yerel belleğini kullanmaktadır. Bu starttransaction() metodunu çağıran her bir thread için ayrı bir bağlantı sağlandığı anlamına gelmektedir. Bu bağlantıları Veri Kaynağına geri verebilmek için mutlaka committransaction() veya endtransaction() metodları çağırılmalıdır. Aksi takdirde bağlantı havuzundaki bağlantılar zamanla tükenecek ve ve bir kilitlenme durumu ortaya çıkacaktır. 17

18 Global (Dağıtılmış) hareketler ibatis Veri Haritalayıcısı aynı zamanda global hareketlere de izin vermektedir. Global hareketler, diğer adıyla dağıtılmış hareketler, birden çok veritabanında güncelleme yapabilmeye imkan sağlamaktadır. ibatis sizin için global hareketleri yönetmektedir Kümeler Eğer sorgu olmayan (insert/update/delete) pek çok işletilecek ifadeniz varsa, bilgisayar ağı trafiğini azaltabilmek için bunları kümeler halinde işletebilirsiniz. Kümeleme işlemleri ibatis Veri Haritalayıcısı ile oldukça kolaydır. Örneğin, executebatch() metodunu çağırarak tüm kümelenmiş ifadeler JDBC sürücüsü botunca işletilecektir. 18

19 İfadelerin işletilmesi SqlMapClient haritalanmış tüm ifadeleri işletebilmek için bir API sağlamaktadır. Aşağıda bu metodlar gösterilmektedir, Örnek 18. ibatis Veri Haritalayıcısı API sı Her bir durumda haritalanmış ifadenin ismi ilk parametre olarak geçilmektedir. Bu isim yukarıda açıklanan <statement> elemanın isim niteliğini karşılamaktadır insert(), update(), delete(): Bu metodlar sorgu olmayan ifadeler olarak adlandırılmaktadırlar. Bu metodları kullanmak için executeupdate() metodu kullanılır. Ayrıca metodun işletilmesi sonucunda kaç satırın bu işlemden etkilendiği bilgisi de geri dönmektedir queryforobject(): executequeryforobject() metodunun iki tane versiyonu vardır. Bunlardan ilki kendine yeni bulmuş bir nesne için çalışırken diğeri ise kendine parametre olarak geçilen ve önceden yaratılmış bir nesne üzerinde işlem yapar. Bu yaklaşım birden çok ifade tarafından yerleştirilen nesneler için kullanılması yararlı bir metodtur. 19

20 queryforlist(): queryforlist() metodunun üç tane versiyonu vardır.ilki sorguyu işletir ve bu sorgu için belirlenen tüm sonuçları dönderir. İkincisi belli bir sayısa sonucu atlayabilir(başta itibaren) ve dönecek maksimum sonuç sayısını belirleyebilir. Bu yöntem çok geniş veri kümeleri üzerinde çalışıldığında faydalı olur. İstemediğiniz fakat bütünlük açısından birlikte dönen sonuçları atlamanızı sağlar. Üçüncüsü ise parametre olarak bir RowHandler alan yöntemdir. Bu yöntem sayesinde dönen sonuç kümesini satır satır yönetebilirsiniz.satır düzenleyici, RowHandler arayüzünü gerçekleştiren bir sınıftır. RowHandler arayüzünün ise sadece tek bir metodu vardır.aşağıda görüldüğü gibi, queryformap(): Bu metod bir grup sonucu bir listeye yükelemek için bir alternatif sunmaktadır. Bu konudaki geniş açıklama örneklerle birlikte verilecektir Örnekler Örnek 19. insert, update, delete sorgularının işletilmesi Örnek 20. Nesn için sorgunun işletilmesi (select) Örnek 21. Daha önceden ayrılmış sonuç nesnesiyle bir nesne için sorgunun işletilmesi Örnek 22. List (select) için sorgunun işletilmesi 20

21 Örnek 23. Auto-commit Örnek 24. Result Boundaries ile List (select) için sorgunun işletilmesi Örnek 25. RowHandler (select) ile sorgunun işletilmesi Örnek 26. Harita için sorgunun işletilmesi 21

22 5. Örnek Uygulama Bu uygulamada kullanıcıya contactid sini soran bir jsp yaratacağız. Onaylama işinden sonra Contact adlı tabloda bu contactid ile ilgili bir contact var mı diye bakacağız. Arama sonucu başka bir jsp sayfasında görüntülenecetir. 1. Öncelikle ibatis-sqlmap-2.jar ve ibatis-common-2.jar kütüklerini web-inf/lib dizini altına kopyalayın. 2. Java Source dizini altında bir tane SqlMapConfig.xml kütüğü yaratın. Örnek, <sqlmapconfig> <settings usestatementnamespaces="false" /> <transactionmanager type="jdbc"> <datasource type="simple" > <property name="jdbc.driver" value="com.ibm.db2.jdbc.app.db2driver"/> <property name="jdbc.connectionurl" value="jdbc:db2:sample"/> <property name="jdbc.username" value="db2admin"/> <property name="jdbc.password" value="admin2db"/> </datasource> </transactionmanager> <sqlmap resource="contact.xml"/> </sqlmapconfig> 3. Contact.java adıyla bir JavaBean sınıfı yaratın. Bu sınıf firstname, lastname, v e contactid özelliklerini ve getter-setter metodlarını içersin. Bu sınıf ResultSet ten değerleri okumak ve sorgu parametrelerini geçmek için kullanılacaktır. public class Contact implements Serializable{ private String firstname; private String lastname; private int contactid; //Getter setter methods for firstname, //lastname and contactid property } 22

Üst Düzey Programlama

Üst Düzey Programlama Ü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

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

Detaylı

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu ORM & Hibernate Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek

Detaylı

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

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 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

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

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

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

VERĐTABANI YÖNETĐM SĐSTEMLERĐ VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi D M L Bilindiği üzere SQL tablolar üzerinde sorgulama yapar. Bu sorgular

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Kaynak Kod Güvenliği Bir Güvensiz API Örneği Kaynak Kod Güvenliği Bir Güvensiz API Örneği Bedirhan Urgun, Ağustos 2010, WGT E-Dergi 6. Sayı Bu yazıda Tomcat J2EE kısmi uygulama sunucusunda bulunan bir güvenlik açığına, güvenlik probleminin kaynağına

Detaylı

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 ix 1 İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19 23 Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 Kayan Nokta Tipleri 30 Sayısal Veri Tipi Dönüşümleri

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -12- TETİKLEYİCİ (TRIGGER) 3 Giriş Trigger lar Trigger lar Ne Zaman Kullanılmalıdır? Klasik Trigger ların Özellikleri

Detaylı

Php Programlama Dili MySQL Uygulamaları

Php Programlama Dili MySQL Uygulamaları Php Programlama Dili İle MySQL Uygulamaları S.Çağlar Onur caglar.onur@tubitak.gov.tr İşlenecek Konular? Php Nedir? MySQL Nedir? Kullanılan Yazılımlar MySQL e Bağlanmak MySQL ile İlgili Bilgi Almak Veritabanlar

Detaylı

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

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

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

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir: Bölüm 25 Java Veritabanı Bağlantısı (JDBC) 25.1 JDBC Nedir? JDBC, JavaDatabaseConnectivity(Java Veritabanı Bağlantısı) anlamına gelmektedir ve Java programlama dili ve geni veritabanları arasında veritabanı-bağımsız

Detaylı

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

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Genel Kavramlar Veri Nedir? Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar Veri Tabanı Nedir? Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Veritabanı Yönetim Sistemi (DBMS)Nedir?

Detaylı

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

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel Veritabanı Yaklaşımı: İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel veri tabanı yönetim sistemi verilerin tablolarda satır ve sutunlar halinde tutulduğu

Detaylı

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması Hakan ALBAĞ Tahsin Barış AKAN Bitirme Projesi 05.06.2006 Giriş Ticari yazılımlarda ortak ihtiyaçlar Birden

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1 ADO.NET Web üzerinden veritabanına bağlanmak ve veri işlemleri gerçekleştirmek için ADO.NET teknolojinden faydalanarak işlemlerimizi gerçekleştireceğiz. ADO.NET her ne kadar ADO teknolojine benzesede aslında

Detaylı

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir Her Yönüyle SQL Enjeksiyonu OWASP-Türkiye Bünyamin Demir Bünyamin Demir ( @bunyamindemir ) OWASP Türkiye Bölüm Lideri Founder & CTO @ Enforsec Ltd. Sızma Testleri Uzmanı Web, Mobil, Network, SCADA, Wireless,

Detaylı

SQL Komutları (2) Uzm. Murat YAZICI

SQL Komutları (2) Uzm. Murat YAZICI SQL Komutları (2) Uzm. Murat YAZICI Sıralama Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır. Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z), DESC kullanılırsa büyükten

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 6 T-SQL ile Programlar Yazmak" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Programlama dili olarak T-SQL Fonksiyonlar Programlamak

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007 Python ve Web 2.0 Gökmen GÖKSEL, gokmen@pardus.org.tr 3 Mayıs 2007 Python Programlama Dili Nesneye Dayalı Çoklu Platform Desteği Kolay anlaşılabilir söz dizimi Birçok amaç için kullanılabilir; Konsol uygulamaları

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ

İNTERNET PROGRAMCILIĞI DERSİ İNTERNET PROGRAMCILIĞI DERSİ Dersin Modülleri İnternet Programcılığı 1 İnternet Programcılığı 2 İnternet Programcılığı 3 İnternet Programcılığı 4 İnternet Programcılığı 5 Kazandırılan Yeterlikler Programlama

Detaylı

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

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

Java Dersi. Altuğ Bilgin Altıntaş

Java Dersi. Altuğ Bilgin Altıntaş Java Dersi Altuğ Bilgin Altıntaş Bu Dönem Hakkında Corba Servlet RMI Temel Kısım EJB JSP XML 2 JDBC JNI Çalışma Evreleri 6 Çalışma Evreleri 7 Java dosyasının hali 7 İlk Java uygulaması 7 Ciddi bir uygulama

Detaylı

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.

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. Oracle (Devam) SELECT INTO Deyimi 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. Genel ifade: SELECT kolonisimler INTO

Detaylı

Mysql Veritabanı Komutları

Mysql Veritabanı Komutları Mysql Veritabanı Komutları Mysql Veri Tabanı Komutları Hazırlayan : M. Başar ACAROĞLU Kaynaklar: http://www.hrzafer.com/sql-dersleri http://www.w3schools.com/sql/default.asp Veri Tabanı Nedir? Mysql Veritabanı

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 1 1. İÇİNDEKİLER 1. İçindekiler 2 2. Bu Belgenin Amacı 3 3. Kullanım Şekli.3 4. Uyarılar.4 5. Hata Kodları.4 6. Kullanıcı Bilgileri Kontrolü..5

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints) Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Konular Yapısal SQL Komutları Gruplama İşlemi SQL Fonksiyonları Kaynaklar 2 SQL (Structured Query Language) SQL Carlos

Detaylı

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

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

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

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi -- www.tdmsoft.com devrim@gunduz.org http://seminer.linux.org.tr http://www.gunduz.org Giriş Bu seminerde, aşağıdaki konular anlatılacaktır:

Detaylı

https://twitter.com/farukbozan 19 Şubat 2016 Cuma

https://twitter.com/farukbozan 19 Şubat 2016 Cuma Bugünkü yazımda çok basit ve temel anlamda Spring ile XML tanım tabanlı bean okuma işlemini anlatmaya çalışacağım. Spring framework bizim yerimize nesnelerin birbirine olan bağımlılıklarını düzenleyip,

Detaylı

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Basit Sorgulamalar a. Tablodan tüm alanları sorgulama b. Tablodan alanları belirterek sorgulama c. Tekrarlı satırları önleme d. Belirli sayıda veya oranda sorgulama yapma

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

Client Server Database

Client Server Database Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client

Detaylı

Bunyamin Demir, , webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ

Bunyamin Demir, <bunyamindemir at gmail dot com>, webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ Bunyamin Demir, , webguvenligi.org, 20/01/2011 ORACLE VERĠTABANI TRAFĠĞĠNĠN GÜVENLĠĞĠ Oracle veritabanında, veritabanına yetkili erişim olmadan verinin elde edilebilmesi

Detaylı

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ. 20 Ocak 2012 / Cuma Yeni uygulama Yönetim adlı bir klasör oluşturacağız. Yönetim klasörü içerisine bir masterpage oluşturacağız. (tabloyla) Örneğin; Ana Sayfa Albüm ekle Fotoğraf ekle Content Place Holder(Değişecek

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme Amaç: Bir veritabanındaki bilgileri LINQ aracılığı ile ekranda nasıl gösterebiliriz? Yazar: Oğuz Alpöge,

Detaylı

YAPISAL SORGULAMA DİLİ (SQL)

YAPISAL SORGULAMA DİLİ (SQL) YAPISAL SORGULAMA DİLİ (SQL) OGRENCI Tablosu 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 CREATE TABLE VERİ TANIMLAMA DİLİ (VTD) Veritabanında yeni bir tablonun oluşturulmasını sağlar. Yukarıda tanımlanan

Detaylı

Veri Tabanı Yönetimi Lab#9

Veri Tabanı Yönetimi Lab#9 Veri Tabanı Yönetimi Lab#9 ->Öncelikle client ve server arasında bağlantı kurulur. Bağlantı kurulduktan sonra client, server a bilgi isteği gönderir. Server veritabanına erişip bilgiyi çeker; client a

Detaylı

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir. SQL PROGRAMLAMA BATCH Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı deyimidir. SELECT. UPDATE...... DELETE.. BATCH BATCH Özellikleri 1- Bir batch içinde bir deyimde yazım hatası olduğunda

Detaylı

Global Haberleşme API Kullanıcı Notları

Global Haberleşme API Kullanıcı Notları Global Haberleşme API Kullanıcı Notları Yazar : Global Haberleşme Son Değiştirme Tarihi : 2015-02-14 Not: API Dökümanının en güncel halini kullanınız. En güncel halini http://uye.globalhaberlesme.com/uploads/api_user.pdf

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

WWW.OZTEKHABERLESME.COM

WWW.OZTEKHABERLESME.COM ÖZTEK HABERLEŞME APİ DÖKÜMANI WWW.OZTEKHABERLESME.COM VER:6.1.0 ~ 1 ~ İÇİNDEKİLER BİLMENİZ GEREKENLER... 3 HTTP POST (XML) YÖNTEMİ... 4 TANIMLAR... 4 ÖRNEK XML YAPISI... 4 PHP ÖRNEK KOD... 5 Örnek Sayfayı

Detaylı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar 2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar Öğr. Gör. Saliha Kevser KAVUNCU Veritabanı neden kullanılır? Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

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

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu SQL'DE VERİ İŞLEME KOMUTLARI SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

Yazılım Kodlama ve İ simlendirme Standartları v1.0

Yazılım Kodlama ve İ simlendirme Standartları v1.0 Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Tasarım Şablonları Üst Düzey Programlama-ders02/ 1 FAÇADE ŞABLONU Facade bir nesnedir ve çok büyük kodları, karmaşık sınıfları basitleştirerek birleştirmek ve ortak bir arayüz sağlamak

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS VERİ TABANI BG-313 3/1 3+1+0 3+0,5 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

JSTL DOKÜMANI. İçindekiler. Yazan: Elif Yavuz

JSTL DOKÜMANI. İçindekiler. Yazan: Elif Yavuz JSTL DOKÜMANI İçindekiler 1. JSTL e Genel Bakış 1.1. JSP scriptlet etiketleri kullanmada ne sorunlar var? 1.2. JSTL in faydaları neler? 1.3. JSTL in olumsuz yanları neler? 2. JSTL Kullanma 2.1. JSTL Kullanım

Detaylı

PHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş. www.ozguryazilim.com.tr

PHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş. www.ozguryazilim.com.tr PHP Günleri 2013#1 mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Adil İlhan Yazılım Geliştirici @adil_ilhan www.adililhan.com adil.ilhan@ozguryazilim.com.tr PHP ve MySQL Bitirim İkili

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

Android ile SQLLite Veri Tabanı

Android ile SQLLite Veri Tabanı Android ile SQLLite Veri Tabanı Android de verileri SQLLite veritabanında tutmak için: Adım-1) File-New Project buradan projeye bir isim verelim ( örneğin: AndroidSQLite), Next ile bir sonraki adımda API

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 12.ders

İNTERNET TABANLI PROGRAMLAMA- 12.ders İNTERNET TABANLI PROGRAMLAMA- 12.ders TEMEL SQL KULLANIMLARI Örnekleri uygulamak için aşağıdaki gibi bir altyapı hazırlayalım. using System.Data.OleDb; *************** protected void Button1_Click(object

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.1 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam...1 2.2 Hedef Kitle...1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...1

Detaylı

V-Count API v3.5. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir.

V-Count API v3.5. - İnsan Sayma sonuçları için istekler https://cloud.v-count.com/vcountapi/vcountapi.php adresine gönderilecektir. V-Count API v3.5 Bu dokümanın amacı V-Count veritabanından insan sayma, mağaza önü sayma ve hava durumu verilerinin dışa aktarımı; ciro, fiş, stok ve ürün adedi bilgilerinin veritabanına içe aktarımı yöntemlerini

Detaylı

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0 NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0 Tescil Bilgisi 2009 NicProxy. Tüm Hakları Saklıdır. Bu belge, NicProxy mülkiyetinde ve NicProxy e ait özel bilgiler içermektedir. NicProxy yetkili temsilcisinin

Detaylı

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ

MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ MOBILEPAX XML PRODUCT API KULLANIM ŞEKLİ Versiyon: 1.0.4 URL Adresi http://merchant.mobilepax.com/services/product.aspx Gönderilen XML Yapısı MobilePaxProduct fonksiyonu buton bilgisi oluşturulacak ürünün

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK Transaction ve Ortak Zamanlılık Sibel SOMYÜREK Nedir? Daha küçük parçalara ayrılamayan en küçük işlem yığını Hepsi tek bir SQL ifadesiymiş gibi yürütülen SQL komutları kümesidir. Nedir? Transaction ın

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

JAVASCRIPT JAVASCRIPT DİLİ

JAVASCRIPT JAVASCRIPT DİLİ JAVASCRIPT JAVASCRIPT DİLİ Netscape Navigator 2.0 ile birlikte geliştirilen JavaScript dili istemci taraflı (client-side) script dilidir. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim

Detaylı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

NFS (Network File System) & NIS (Network Information System) H. Coşkun Gündüz cgunduz@cs.bilgi.edu.tr

NFS (Network File System) & NIS (Network Information System) H. Coşkun Gündüz cgunduz@cs.bilgi.edu.tr NFS (Network File System) & NIS (Network Information System) H. Coşkun Gündüz cgunduz@cs.bilgi.edu.tr NFS içerik: NFS nedir? Tarihçe NFS sunucu yapılandırma NFS istemci yapılandırma Genel problemler ve

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME Default.aspx

Detaylı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Yasin Hınıslıoğlu 1 Mehmet Serdar Güzel 2 1 Ahmet Yesevi Üniversitesi Yönetim Bilişim Sistemleri Bölümü, Ankara 2 Ankara Üniversitesi Bilgisayar

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME Veritabanına kayıt işlemleri 4 farklı işlemden oluşur Bunlar Görüntüleme (SELECT), Kayıt

Detaylı

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak: Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak: Command objelerini kullanarak direk veritabanı işlemlerini gerçekleştirebilirsiniz. Dataset nesnesini kullanmadan direk veritabanı içerisindeki

Detaylı

@6 SERİSİ ÜRÜN KURULUMU

@6 SERİSİ ÜRÜN KURULUMU @6 SERİSİ ÜRÜN KURULUMU Ürün Grubu [X] Fusion [X] Fusion Standard [X] Entegre W3 Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama @6 serisi ürünlerin kurulum işlemleri sadece on-line internet

Detaylı

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a)

Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a) Proticaret Exclusive Versiyon Yükseltme Dokümanı(v.3.0'dan v3.1.0'a) Bu belge, Webmaster düzeyindeki kullanıcıların kurulu olan Proticaret Exclusive portalının versiyon v3.0'dan versiyon 3.1.0'a yükseltirken

Detaylı