Merhaba arkadaşlar. Bu yazıda sizlere projede Microsoft SQL Server’ın nasıl kullanılacağını anlatmaya çalışacağım.
Bilgisayarınızda MS SQL Server’ın kurulu olduğunu varsayarak bu anlatımı yapmaya çalışacağım. Öncelikle buradan bilgisayarımıza MS SQL Server’ı projede kullanmamız için gerekli olan uygulamayı indirelim. .exe dosyasını çalıştıralım. Dosyayı indirdiğimiz yerde Microsoft JDBC Driver 4.0 for SQL Server adında bir klasör oluşacak. Daha sonra SQL Server Configuration Manager programını açalım ve soldaki SQL Server Network Configuration alanından kullandığımız servise çift tıklayalım. Örneğin ben burada SQLEXPRESS servisini kullanıyorum. Daha sonra gelen ekrandan TCP/IP kısmına çift tıklayalım ve Enabled yapalım.
IP Addresses kısmından da IPAll bölümündeki TCP Port‘unu 1433 yapalım, Tamam diyelim ve pencereyi kapatalım.
Şimdi NetBeans’ta bir JSF projesi açalım ve Libraries kısmına sağ tıklayıp Add Jar/Folder diyelim. Akabinde Microsoft JDBC Driver 4.0 for SQL Server klasöründen sqljdbc4.jar dosyasını seçelim ve projemize ekleyelim. Artık MS SQL Server JSF projesinde kullanılmaya hazır. Şimdi bir örnek uygulama yapalım.
index.xhtml Kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html"> <h:head> <title>Facelet Title</title> </h:head> <h:body> <h:form> <h:outputText value="Adınız:"/> <h:inputText value="#{sqlServerBean.ad}"/> <h:outputText value="Soyadınız:"/> <h:inputText value="#{sqlServerBean.soyad}"/> <h:commandButton value="GÖNDER" action="#{sqlServerBean.gonder()}"/> </h:form> </h:body> </html> |
SqlServerBean.java Kodu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.servlet.*; import java.io.*; import java.sql.*; @ManagedBean @RequestScoped public class SqlServerBean implements Filter { String ad; String soyad; int i=0; @Override public void destroy() { } @Override public void init(FilterConfig arg0) throws ServletException { } @Override public void doFilter(ServletRequest requset, ServletResponse response, FilterChain chain) throws IOException, ServletException { requset.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); chain.doFilter(requset, response); } public String getAd() { return ad; } public void setAd(String ad) { this.ad = ad; } public String getSoyad() { return soyad; } public void setSoyad(String soyad) { this.soyad = soyad; } public String gonder() { Connection conn = null; PreparedStatement ps=null; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String dbURL = "jdbc:sqlserver://localhost:1433;databaseName=JsfDeneme"; String user = "sa"; String pass = "12345"; conn = DriverManager.getConnection(dbURL, user, pass); if (conn != null) { ps=conn.prepareStatement("INSERT INTO isimler(isim,soyisim) VALUES(?,?)"); ps.setString(1, ad); ps.setString(2, soyad); i=ps.executeUpdate(); } } catch (Exception ex) { System.out.println(ex); } finally { try { if (conn != null && !conn.isClosed()) { conn.close(); } } catch (Exception ex) { System.out.println(ex); } } if(i>0) return "basarili.xhtml?faces-redirect=true"; else return "basarisiz.xhtml?faces-redirect=true"; } } |
Sınıfımız içinde override ettiğimiz 3 metodu Türkçe karakter sorunun çözümü için yazdık. Bu 3 metodun yanında web.xml dosyasına da şu kodu eklemeliyiz:
1 2 3 4 5 6 7 8 9 |
<filter> <filter-name>turkcekarekter</filter-name> <filter-class>SqlServerBean</filter-class> </filter> <filter-mapping> <filter-name>turkcekarekter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
Veritabanına kayıt ekleme yazımızda kayıtın nasıl eklendiğini öğrenmiştik. Burada Class.forname ve veritabanı yolunu değiştiriyoruz. Mysql için portumuz 3306 iken MS SQL Server için portumuz 1433. Uygulamayı çalıştırdığımızda kayıt eklenirse basarili.xhtml eklenemez ise basarisiz.xhtml sayfasına yönlendirileceğiz.
Ekran Çıktıları
Microsoft SQL Server’ı projemizde böyle kullanabiliyoruz arkadaşlar. Başka yazıda görüşmek üzere sağlıcakla kalın.