Bugünde JSF 2.0 ile veritabanına kayıt ekleme örneği yapalım. Bu konularda biraz acemi olduğum için birkaç denemeden sonra aşağıdaki örneği yapabildim 🙂 ama sonunda oldu. Neyse konumuza geri dönelim. Ben örneğimde MySql veritabanı kullandım, isterseniz sizler başka veritabanı kullanabilirsiniz.Veritabanına bağlantı hakkında daha önceki yazılarımdaki örnek uygulamaya bakabilirsiniz. Ben örneğimde mysql kullandığım için mysql veritabanında users adında bir tablo oluşturuyorum. Tablonun alanları id(INTEGER), name(VARCHAR) ve email(VARCHAR) olsun. Şimdi users tablosuna ekleyeceğimiz bilgileri alan web arayüzümüzü oluşturalım.
userekle.jsp;
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Veritabanına Kayıt Ekleme</title>
</head>
<body>
<f:view>
<h:form>
<h:panelGrid columns="2">
<h:outputLabel value="Ad"/>
<h:inputText value="#{ekle.name}"/>
<h:outputLabel value="E-Posta"/>
<h:inputText value="#{ekle.email}"/>
<h:commandButton value="Kaydet" action="#{ekle.Kaydet}"/>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
Evet şimdi sayfadan aldığım bilgileri veritabanına kayıt eden class dosyamızı oluşturalım.
KayitEkle.java;
package com.dnz.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean(name="ekle")
@RequestScoped
public class KayitEkle {
String name;
String email;
Connection con;
Statement stmt;
String url="jdbc:mysql://localhost:3306/test";
String user="root";
String pass="12345";
int rs;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void Kaydet(){
try {
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,user,pass);
stmt=con.createStatement();
rs=stmt.executeUpdate("INSERT INTO USERS VALUES (null,'"+name+"','"+email+"')");
stmt.close();
con.close();
System.out.println("1 Kayıt eklendi.");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Evet bu kadar, umarım deneyen arkadaşlar veritabanına kayıt ekleyebilmiştir 🙂


Leave a comment