Java Uygulamasından MSSQL Server'a Bağlanmak
01-12-2013
Class.forName Metodu
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Class bir Class ismidir. forName() metodunun bu şekilde kullanılmasının nedeni Class isimli class’tan object yaratılamamasıdır. Çünkü Class class’ı private ’dir.
Java da bir driver yüklenirken, Class isimli class kullanılmaktadır. Dediğimiz gibi bu Class’tan bir object yaratılamaz. Bu nedenle ilgili metodu yani forName() metodunu static metod şeklinde çağırıp ilgili driver ismini parametre olarak yazacağız.
Class.forName(Class) bir class'ın başlatılmasını sağlar. Bunu bir applet'in veya application'un yüklenmesi gibi düşünebiliriz. Yani jvm'nin yaptığı işi biz yapıyoruz. Örneğin database'e bağlantı kuran bir sürücü class'ı yüklüyoruz ve Driver hafızaya yükleniyor. Bir class'ın nesnesini yaratmaktan faklıdır.
SQL Server Driver Neden Gereklidir ?
Veritabanı ile Java arasında bir nevi iletişim köprüsü oluşturur. Bu köprünün kurulabilmesi için öncelikle Driver yüklemek olarak tabir edilen işlemi gerçekleştirmek gerekir.
Bazı Örnekler :
com.microsoft.sqlserver.jdbc.SQLServerDriver
oracle.jdbc.driver.OracleDriver
Connection Class'ı
Statement Class’ı ve ResultSet Interface’i
ResultSet Türündeki resultset Object’inin Metodları
Örnek Proje
Maven Projesine SQL JDBC Kütüphanesini Dahil Etmek
Adım 1: İlk önce http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 adresinden Microsoft JDBC Driver indirilir
Adım 2: İndirilen dosya çıkartılır
Adım 3: Çıkartılan dosyanın bulunduğu dizine giderek sqljdbc4.jar isimli jar dosyası local repository'e import edilir. Bu işlem için aşağıdaki kodu Windows konsol(command prompt) ekranına açıp yapıştırınız:
Not: Windows Konsol Ekranı sqljdbc4.jar dosyasının bulunduğu dizinde açılmalıdır
Adım 4: pom.xml dosyasına aşağıdaki dependency ekleyiniz:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Class bir Class ismidir. forName() metodunun bu şekilde kullanılmasının nedeni Class isimli class’tan object yaratılamamasıdır. Çünkü Class class’ı private ’dir.
Java da bir driver yüklenirken, Class isimli class kullanılmaktadır. Dediğimiz gibi bu Class’tan bir object yaratılamaz. Bu nedenle ilgili metodu yani forName() metodunu static metod şeklinde çağırıp ilgili driver ismini parametre olarak yazacağız.
Class.forName(Class) bir class'ın başlatılmasını sağlar. Bunu bir applet'in veya application'un yüklenmesi gibi düşünebiliriz. Yani jvm'nin yaptığı işi biz yapıyoruz. Örneğin database'e bağlantı kuran bir sürücü class'ı yüklüyoruz ve Driver hafızaya yükleniyor. Bir class'ın nesnesini yaratmaktan faklıdır.
SQL Server Driver Neden Gereklidir ?
Veritabanı ile Java arasında bir nevi iletişim köprüsü oluşturur. Bu köprünün kurulabilmesi için öncelikle Driver yüklemek olarak tabir edilen işlemi gerçekleştirmek gerekir.
Bazı Örnekler :
com.microsoft.sqlserver.jdbc.SQLServerDriver
oracle.jdbc.driver.OracleDriver
Connection Class'ı
String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=OnlineBookSale;user=john;password=123;"; Connection con = DriverManager.getConnection(connectionUrl);Connection class’ından con isimli bir object yaratılırken DriverManager class’ının getConnection() isimli static metodu kullanılır.
Statement Class’ı ve ResultSet Interface’i
String query="select * from tblUsers where UserName like '%a%'"; Statement statement = con.createStatement(); ResultSet resultset = statement.executeQuery(query);ResultSet interface’i türüne sahip olan resultset object’i Statement class’ından yaratılan statement object’inden türetilir.
ResultSet Türündeki resultset Object’inin Metodları
resultset.next();//Sql de dönen tablonun ilk satırındaki verileri dönderir. Yani Sql tablosundan satır satır okumayı sağlar. while(resultset.next()){ info=resultset.getString(1);//info bir String objecti } //Metodu 1,2,3.. gibi sutun numaraların parametre olarak kullanır ve ilgili sütun numarasına göre string dönderir. resultset.getString();
Örnek Proje
String queryStatement="select * from tblUsers where UserName like '%a%‘"; int columnNumber=1; String info=" "; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//SqlServerDriver String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=OnlineBookSale;user=john;password=123;"; Connection con = DriverManager.getConnection(connectionUrl); Statement statement = con.createStatement();//bir tane statement yaratilir. ResultSet resultset = statement.executeQuery(queryStatement); while(resultset.next()){ info=resultset.getString(1); } System.out.println(info); con.close();//Asla unutma
Maven Projesine SQL JDBC Kütüphanesini Dahil Etmek
Adım 1: İlk önce http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 adresinden Microsoft JDBC Driver indirilir
Adım 2: İndirilen dosya çıkartılır
Adım 3: Çıkartılan dosyanın bulunduğu dizine giderek sqljdbc4.jar isimli jar dosyası local repository'e import edilir. Bu işlem için aşağıdaki kodu Windows konsol(command prompt) ekranına açıp yapıştırınız:
mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=3.0 -Dpackaging=jar
Not: Windows Konsol Ekranı sqljdbc4.jar dosyasının bulunduğu dizinde açılmalıdır
Adım 4: pom.xml dosyasına aşağıdaki dependency ekleyiniz:
com.microsoft.sqlserver sqljdbc4 3.0