Archive for database

Java programlamada GUI ve veritabanı işlemlerini birleştirme niteliği taşıyan Teknik Servis programının son bölümünde yetkili sayfasını oluşturacağız. Yetkili sayfasının genel özelliklerinden bahsedip kodlama kısmına geçelim. Ardından da projenin tamamlanmış halinin kaynak kodlarını indirebilirsiniz.

Yetkili sayfasında sizlerin de tahmin ettiği gibi, ürün ekleme ve güncelleme işlemlerini gerçekleştiriyor. Güncelleme işlemleri için yine bir “bilgileri getir” butonu textbox ve combox’ lara veritabanından bilgileri çekiyor. Yapılan değişiklikler de (kullanıcı adında değişiklik yapılamaz) güncelle butonuyla kaydediliyor. Yeni kayıt işleminde ise read more »

Teknik servis programının ikinci bölümünde müşterilerin ürün bilgilerini kontrol edebileceği pencereyi oluşturacağız. Genel yapısıyla bu aşamada yapılacak işlemleri kısaca açıklamakta fayda var. Müşteriler bildiğiniz gibi programda sınırlı yetkiye sahip olacaklar. Bu yüzden ürün bilgilerinde herhangi bir değişiklik yapamayacaklar. Bunu da düşünerek veritabanından bilgilerin çekildiği nesneler pasif olmalı ki müşteri değişiklik yapamasın.

Müşteri sayfası için yol haritasını da çizdikten sonra kodlama kısmına girebiliriz. İlk yapılacak iş tabi ki resimde görülen nesnelerin yerleştirilmesi olacak. Bir panel üzerine bu nesnelerin eklenmesinden sonra arka planda çalışacak kodlamaları yapmaya geçebiliriz. Bilgileri getir butonunun actionlistener’ ında, girilen kullanıcı adı ve şifre kontrol edilip doğruluğu onaylandığında, veritabanından bu kullanıcı adı ve şifreye ait bilgiler read more »

Java dilinde bir seri halinde verdiğim veritabanı işlemleri ve nesne ekleme-düzenleme derslerinin birlikte kullanımının görülmesi açısından son derece faydalı bir programı yayınlayacağım. Proje, bir teknik servis programı. Ürün ve müşteri bilgilerini veritabanında tutan, admin ve müşteri olmak üzere farklı yetkilere sahip iki kullanıcı türü bulunduran bir program yapacağız. Admin, ürün ekleme ve güncelleme işlemlerini yapabiliyorken, müşteri sadece ürününün bilgilerini sorgulayarak durum kontrolü yapabilme yetkisine sahip. Program tamamlandığında kaynak kodlarını indirebileceksiniz.

Bu bölümde programın giriş bölümüne ait kodları vereceğim.Resimde de gördüğünüz gibi, giriş ekranında admin giriş paneli, kullanıcı giriş paneli ve bunları üzerinde bulunduran panel olmak üzere üç tane panel kullandım. Kodların açıklamalarını read more »

Yazının birinci bölümü niteliği taşıyan JPA ile Oluşturulan Kalıcılık Birimleri ve Örneklerle Çalışma Şekilleri yazısında uygulamaya dayalı kalıcılık birimlerinin marifetlerinden bahsetmiştim. Şimdi de kalıcılık birimi adı altında oluşturulan classı da kullanarak çalışan varlık sınıfını örneklerle açıklamaya çalışacağım.

Netbeans ile postgreSQL bağlantısı kurulumunu anlattığım makalede bu classların oluşturulma aşamalarını anlatmıştım, tekrarlamaya gerek yok. Merak edenler buradan bakabilirler. Varlık sınıfları, yapılan bazı düzenlemelerle derleyici tarafından sizin de kontrolünüzde istediğiniz paketin içine otomatik olarak oluşturulur. Adı da, veritabanındakiTabloAdıJpaController şeklindedir. Bu sınıfı neden oluşturma ihtiyacı duyarız? Sorunun cevabını, buyrun classa bir göz atın, ondan sonra vereyim. read more »

JPA’ dan önceki yazılarımda geniş bir şekilde bahsetmiştim. Veritabanı ile program arasında işleri kolaylaştıran, süreci hızlandıran bir bağ olduğunu söylemiştim. (JPA Hakkında Ayrıntılı Bilgi için Tıklayınız.  Kalıcılık Biriminin Oluşturulma Aşaması İçin Tıklayınız.) Düşündüm ki JPA aracılığı ile oluşturulan sınıfların bir incelemesini yazmam sizler için daha faydalı olur. Bu yazıdan ve örneklerden sonra kavramlar bir kademe daha oturacaktır kafanızda.


İlk olarak bahsettiğim sınıflardan veritabanındaki tabloyla aynı isme sahip sınıftan bahsetmek istiyorum. Daha önce de açıkladığım gibi, bu sınıf tablo ile gerekli ilişkilendirmeyi oluşturup tablodan ve veritabanından bağımsız bir read more »

Javada web uygulamalarına giriş yaptığımdan beri, bu alanda öğrendiğim en önemli kavramlardan birisidir ORM, JPA ve persistence konularına değindiğim yazımda (bu yazıyı okumadan bakmanızı öneririm) aslında bu konunun tam da ortasında bulunuyorduk.  ORM, o yazımda anlattığım işlemlerin bütününü kapsayan bir kavramdır. Gelin biraz ayrıntıya girelim.

Javada veritabanı uygulaması yapıyorsanız, bu nimetten kesinlikle yararlanmalısınız. Neden mi? Düşünün ki veritabanında bir tablo oluşturdunuz. Çoğu kişi için bu tabloyla bağlantı kurmak, her zamanki sql cümlelerini yazmak sıkıcı gelir. ORM ile bu SQL cümlelerini yazmak zorunda kalmazsınız. Oluşturulan bir class ile tabloda read more »

Javada veritabanı işlemlerinin son yazısında silme işlemini gerçekleştireceğim. Diğer işlemleri merak edenler, önceki yazılara bakabilirler.

Şimdiye kadar java dilinde veritabanı işlemleri başlığı altında yayınladığım üç yazıda mantıklar benzerdi. Bağlantı kur, sorgu cümlesi yaz,  bu sorgu cümlesindeki komutları gerçekleştir ve bağlantıyı kapat. Silme işleminde de aynı işlemler uygulanacak. Burada , küçük ama önemli bir ayrıntıyı gözden kaçırmamak gerekir. Anlatmak istediğim, silme işleminde tüm sütunları tek tek mi silmek gerekir? Eminim siz de bu soruyu kendinize sordunuz. Ama read more »

Veritabanı işlemleriyle java diline devam ediyoruz. Bu yazımın konusu da güncelleme işlemi. Verileri eklemeyi, çekmeyi daha önce yayınlamıştım. İşin mantığı zaten benzer. Yayınladığım yazıları okuyanlar sadece sorgu cümlelerinin değiştiğini kolaylıkla farkedeceklerdir. Gelin o zaman değişen sorgu cümlesinin genel formatına bakalım.

Güncelleme işlemi veritabanında “UPDATE” kelimesi ile yapılır. Kullanımı ise şu şekildedir: “UPDATE tabloAdi SET sütun1 =  ‘deger1’, sütun2 = ‘deger2’, sütun3 = ‘deger3′” Görüldüğü gibi mantık aynı, sadece kelimelerde ve yapıda çok küçük değişiklikler var. Örnek programa bakıldığında konu daha iyi anlaşılacaktır.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package connectMysql
import java.sql.*;
public class databaseClass
{
    public void veriKaydet()
    {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        System.out.print("sürücü yüklendi");
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/teknikServis", "root", "");
        Statement komut = conn.createStatement();
        String sorgu = "UPDATE tb_bilgiler SET cihazModeli= '"
            + txt_yCihazModeli.getText() + "', cihazArizasi= '"
            + txt_yCihazArizasi.getText() + "', verilisTarihi= '"
            + txt_yVerilisTarihi.getText() + "'";
        komut.executeUpdate(sorgu); //Sorgu cümlesindeki komutları icra et ve bilgileri Güncelle conn.close();
    }
}

Temsili veritabanı tablosu: read more »

Javada veritabanı işlemlerine kaldığımız yerden devam edelim. En son veri çekme işlemini gerçekleştirmiştik. Bu yazıda da veritabanına veri ekleme işlemini geleneği bozmadan, örnek kodlar ve açıklamalarıyla gerçekleştireceğiz. İlk bu yazıdan başlayan arkadaşlar eğer veritabanı bağlantısı için gerekli ayarlamaları yapmamışlarsa buradan göz atabilirler.

Veri ekleme işleminde de benzer işlemler yine uygulamamız gerekiyor. Bağlantı kur, sql kaydetme cümlesi yaz vs… Şimdi kaydetme komutunun nasıl kullanıldığına sembolik bir şekilde bakalım: “INSERT INTO tabloAdi (sütun1, sütun2, sütun3) Values(‘deger1’, ‘deger2’, ‘deger3’)” Tahmin ettiğiniz gibi INSERT, bilgi eklemede kullanılan veritabanı komutu. Sütunları, tabloda saklanacak bilgilerin kategori isimleri olarak; değerleri ise saklanacak bilgiler olarak tanımlayabiliriz. Ön bilgilerden sonra gelin veritabanına ilk bilgilerimizi ekleyelim. read more »

Java dilinde veritabanı işlemlerine, bağlantı kurmakla giriş yapmıştık zaten. Bu yazımda da veri çekme işlemine değineceğim. Ben yaptığım örneklerde mySQL veritabanını kullandım. Siz de istediğiniz herhangi bir veritabanını kullanabilirsiniz. Dikkat etmeniz gereken şey ise driver ve ayarlarda küçük değişiklikler yapmak olacaktır.

Veri çekme işlemi, çoğu veritabanında olduğu gibi mySQL’ de de “SELECT” kelimesi ile yapılır. Kullanımı ise şu şekildedir: “SELECT isimler FROM tblBilgiler order by TCkimlikNo”. Açıklamak gerekirse; tblBilgiler isimli tablodan, TCkimlikNo’ sunu yazdığım satıra ait isimler bilgisini getir. Yani burada isimler, tablodan getirilecek değişkeni belirliyor. İsimler yerine ” * ” koymuş olsaydık aranan TCkimlikNo ‘ ya read more »