JSF Veritabanı Kayıt Ekleme
Java Server Faces Derslerine devam ediyoruz.
Java Server Faces ile Veritabanı İşlemlerine kayıt ekleme kısmından giriş yapıyoruz. Veritabanı işlemleri şu aşamadan oluşur.
- Verileri kullanıcıdan alma
- Veritabanına bağlanma
- Verileri veritabanına ekleme
- Veritabanı bağlantısını kapatma.
Java Server Faces sayfalarımızda bu işlemleri yaptıktan sonra amacımıza ulaşmış olacağız.
Örneğimiz Üye Kayıt Formu üzerine olucaktır.
Veritabanına kayıt işlemini gerçekleştireceğimiz bean’imizi yapalım. Yazacağımız bu bean kullanıcıdan alınan bilgileri veritabanına işlemek üzere yazılacak. Java Server Faces sayfamız üzerinden bilgiler bu user_register bean’imize gelicek ve veritabanına gerekli kolonların gerekli alanlarına formumuzdan gelen bilgiler yazılacaktır.
import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import java.sql.*; /** * * @author Burak KUTBAY * @site www.burakkutbay.com * @blog blog.burakkıtbay.com */ @ManagedBean @RequestScoped public class user_register { String isim; String soyad; String email; String sifre; public String getIsim() { return isim; } public void setIsim(String isim) { this.isim = isim; } public String getSoyad() { return soyad; } public void setSoyad(String soyad) { this.soyad = soyad; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getSifre() { return sifre; } public void setSifre(String sifre) { this.sifre = sifre; } public String kaydet() { PreparedStatement ps=null; Connection con=null; try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/uye","root","1"); ps=con.prepareStatement("INSERT INTO uye_kayit(Adi, Soyadi, Email, Sifre) VALUES(?,?,?,?)"); ps.setString(1, isim); ps.setString(2, soyad); ps.setString(3, email); ps.setString(4, sifre); ps.executeUpdate(); } catch(Exception e) { System.out.println(e); } finally { try{ con.close(); ps.close(); } catch(Exception e) { System.out.println(e); } } } }
user_register beanimizi tanımladık. Bu beande her zaman olduğu gibi getter ve setter fonksiyonlarımızı yazıyoruz.
index.xhtml sayfamızı yapalım. Önceki Java Server Faces Dersleri’nde JSF Html Bileşenlerini gördüğümüz için çok fazla detaya girmeyeceğim. Her zaman aşina olduğumuz bir üye kayıt sayfası yapalım.
<?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" xmlns:f="http://xmlns.jcp.org/jsf/core"> <h:head> <title>Burak Kutbay</title> </h:head> <h:body> <h2>Kayıt Sayfası</h2> <h:form> <h:panelGroup> <h:panelGrid id="panel" border="0" columns="2"> <h:outputText value="Adınız:"/> <h:inputText value="#{user_register.isim}" required="true" requiredMessage="Adı Boş Geçilemez !!"/> <h:outputText value="Soyadınız"/> <h:inputText value="#{user_register.soyad}" required="true" requiredMessage="Soyad Boş Geçilemez !!"/> <h:outputText value="Email:"/> <h:inputText value="#{user_register.email}" required="true" requiredMessage="Email Boş Geçilemez !!"/> <h:outputText value="Şifre:"/> <h:inputText value="#{user_register.sifre}" required="true" requiredMessage="Sifre Boş Geçilemez !!"/> <h:commandButton value="GÖNDER" action="#{user_register.kaydet()}"/> </h:panelGrid> </h:panelGroup> </h:form> </h:body> </html>
Üye kaydı yapacağımız index.xhtml Java Server Faces sayfamız’ı hazırladık. Kullanıcıdan alacağımız bu bilgileri veritabanına kaydetmemiz için form bileşenlerinin değerlerini user_register bean’imizde ki değişkenlerimize ulaşır. Bean’e ulaşan değerler ile veritabanı bağlantısı yapıldıktan sonra prepareStatement ile sql cümleciği ile veritabanına kaydedilmek üzere gönderilmiştir. Try , Catch ve Finally ile programın hata vermesini engellemeye çalışmaktayız.
Elinize sağlık hocam, takipteyiz 🙂
Hocam çok güzel anlatmışsınız ama en son sayfada yönlendirme oluyor mu yoksa index.xhtml demi kalıyor merak ettim
Teşekkürler
Kalıyor 🙂