JSP Veritabanı Bağlantısı

JSP'de Veritabanına Bağlanma

Veritabanı, çok büyük ve gigabayt cinsinden depolama kapasitesine sahip çeşitli veri türlerini depolamak için kullanılır. JSP, kayıtları oluşturmak ve yönetmek için bu tür veritabanlarına bağlanabilir.

Bu dersimizde veritabanında tablo oluşturmayı ve bu tablolarda JSP aracılığıyla kayıt oluşturmayı öğreneceğiz.

Tablo Oluştur

In MYSQL veritabanı, herhangi bir MYSQL istemcisiyle veritabanında bir tablo oluşturabiliriz. Burada PHPMyadminclient kullanıyoruz ve orada aşağıdaki ekran görüntüsünü kullanarak yeni bir tablo oluşturmak için "yeni" seçeneğimiz var.

JSP Veritabanında Tablo Oluşturma

Bunun içinde tablo adını guru_test olarak vermemiz gerekiyor ve iki alan oluşturacağız: emp_id ve emp_name.

Emp_idis int olarak veri türüne sahip

Emp_name varchar olarak veri türüne sahip

JSP Veritabanında Tablo Oluşturma

Başka bir seçenek de komut istemini kullanmak ve MYSQL dizininde değişiklik yapmaktır:

C:\>
C:\>cd Program Files\MY SQL\bin
C:\>Program Files\MySql\bin>

Veritabanına şu şekilde giriş yapabiliriz:

C:\Program Files\MYSQL\bin>mysql –u gururoot –p
Enter Password: *******
Mysql>

GuruTestas isimli veritabanında guru_test tablosunu aşağıdaki şekilde MYSQL komut isteminde oluşturun:

Mysql> use GuruTest;
MySql> create table guru_test(
Emp_idint NOT NULL,
Emp_namevarchar(11),
           );
Once you execute this you get the following:
Query OK, 0 rows affected(0.10 sec)
MySQl> select * from guru_test;
Query OK, 0 rows affected(0.10 sec)

İlk önce kayıtlar kullanılarak eklenir. INSERT sorgu ve sonra kullanabiliriz SELECT Tablonun oluşturulup oluşturulmadığını kontrol etmek için sorgu.

Kayıt Oluştur

Bir tablo oluşturduktan sonra, aşağıda gösterilen ekleme sorgusunu kullanarak guru_test tablosuna kayıtlar oluşturmamız gerekir:

Buraya girilen kayıtlar şunlardır:

  • 1 ve guru emp1
  • 2 ve guru emp2
MySql>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('1', 'guru emp1');
Query OK, 1 row affected (0.05 sec)

MySQL>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('2', 'guru emp2');
Query OK, 1 row affected (0.05 sec)

JSP Operaİşlemler: Ekle, Güncelle, Sil, Seç

JSP kullanarak veritabanına birden fazla işlem yapabiliriz. Kayıtları ekleyebiliriz ve ayrıca gerekli olmayan kayıtları silebiliriz. Herhangi bir kaydın düzenlenmesi gerekiyorsa, bir güncelleme kullanarak yapabiliriz. Seçme işlemi, gerekli olan kayıtları almaya yardımcı olacaktır.

Seç

Seçme işlemi tablodaki kayıtları seçmek için kullanılır.

Örnek E-posta:

Bu örnekte, yukarıdaki bölümde oluşturulan guru_test tablosundan kayıt getirme seçme işlemini öğreneceğiz.

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
 
<sql:query dataSource="${snapshot}" var="result">
SELECT * from guru_test;
</sql:query>
 
<table>
<tr>
   <th>Guru ID</th>
   <th>Name</th>

</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.emp_id}"/></td>
   <td><c:out value="${row.emp_name}"/></td>

</tr>
</c:forEach>
</table>
 
</body>
</html>

Kodun açıklaması:

Kod Satırı 1: Burada io, uti ve SQL java kütüphaneleri.

Kod Satırı 3: Burada JSTL'nin çekirdek kütüphanesini içe aktarıyoruz ve çıktı almaya yardımcı olacak önekini gurucore olarak veriyoruz.

Kod Satırı 4: Burada jstl'nin SQL kütüphanesini import edip, SQL işlemlerini yapmamıza yardımcı olacak önekini gurusql olarak veriyoruz.

Kod Satırı 15-17: Burada gurusql kullanarak değişkeni “guru”, sürücüyü ise JDBC sürücüsü olarak adlandırarak veri kaynağını bağlıyoruz. Ayrıca “gururoot” ve “guru” ile kullanıcı adı ve şifreyi ekliyorum.

Kod Satırı 19-21: Burada seçme sorgusunun SQL sorgusunu kullanıyoruz.

Kod Satırı 31-32: Sorgu sonuçlarından alınan emp id ve emp name çıktısını yazdırıyoruz ve foreach döngüsünü kullanarak çıktıyı yazdırıyoruz.

Yukarıdaki kodu çalıştırdığınızda aşağıdaki gibi çıktı elde edeceğiz;

Çıktı:

Burada her iki kayıt da veritabanından getirilecek

1 guru emp1

2 guru emp2

Ekle

Insert operatörü, kayıtları eklemek için kullanılır. veritabanı.

Örnek:

Bu örnekte, guru_test tablosuna kayıt eklemeyi öğreneceğiz.

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     
     <gurusql:update dataSource="${guru}" var="guruvar">
INSERT INTO guru_test VALUES (3, 'emp emp3');
</gurusql:update>
 

 
</body>
</html>

Kodun açıklaması:

Kod Satırı 19-20: Burada GuruTestdatabase'in guru_test tablosuna kayıtlar ekliyoruz. Eklenen kayıtlar şunlardır: empID – 3 ve empname – emp emp3. Bu kayıtlar tabloya eklenecektir. Kodu çalıştırdığınızda, kayıtlar tabloya guru_test olarak, değeri 3 ve emp emp3 olarak eklenir.

Not: Burada çıktıyı göstermiyoruz çünkü sadece kaydı tabloya ekliyoruz. Kaydı select sorgusu kullanarak 'select * from guru_test' olarak alabiliriz. Kayıt o zaman eklenmiş olsaydı, değeri 3 ve emp3 olarak alırdık. Kayıt o zaman eklenmezse, 3 tablodaki kayıtlarda görülmez.

Sil

Bu guru_test tablosundaki kayıtları sildiğimiz silme işlemidir.

Örnek:

Burada guru_test tablosundan kaydı silmek için sorguyu sileceğiz. Silinmesi gereken kaydın “guruid” değişkenine ayarlanması gerekir ve ilgili kayıt veri tabanından silinir.

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="3"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
DELETE FROM guru_test WHERE emp_id = ?
  <gurusql:param value="${guruid}" />
</gurusql:update>
 

 
</body>
</html>

Kodun açıklaması:

Kod Satırı 18: Veritabanından silinmesi gereken, değeri 3 olan bir guruid değişkeni ayarlıyoruz. Bu her zaman tablonun birincil anahtarıdır. Bu durumda birincil anahtar emp_id'dir.

Kod Satırı 19-22: Burada where cümlesinde bir parametre ayarlayan bir silme sorgusu kullanıyoruz. Burada parametre, kod satırı 18'de ayarlanan guruid'dir. İlgili kayıt silinir.

Çıktı:

Yukarıdaki kodu çalıştırdığınızda emp_id değeri 3 olan kayıt silinir.

Not: Bu örnekte, kaydı tablodan sildiğimiz için çıktıyı gösteremiyoruz. Kaydın silinip silinmediğini kontrol etmek için, select query “select * from guru_test” kullanmamız gerekir. Bu durumda, emp id olarak 3 alırsak silme sorgusu başarısız olur, aksi takdirde kayıt başarıyla silinmiştir.

Güncelle

Güncelleme, tablodaki kayıtları düzenlemek için kullanılır.

Örnek:

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

<gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="2"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
UPDATE guru_test SET emp_name='emp guru99'
  <gurusql:param value="${guruid}" />
</gurusql:update>
 

 
</body>
</html>
	

Kodun açıklaması:

Kod Satırı 18: Burada guruid değişkenini 2 olarak ayarlıyoruz. Bu, kaydı güncellemek istediğimiz ID'dir.

Kod Satırı 19-22: Burada, 18. maddede ayarlanan kaydın guru_test tablosundaki kaydı güncellemek için bir güncelleme sorgusu kullanıyoruz. Burada emp guru2, emp guru99 ile değiştirilmiştir.

Çıktı:

Yukarıdaki kodu çalıştırdığınızda emp_id'si 2 olan kayıt 99 olarak değişir. Dolayısıyla çıktı artık emp “guru99” yerine emp”guru2″ gösterecektir.

ÖZET

Bu eğitimde JSP'yi veritabanına bağlamayı ve veritabanı erişimini öğrendik. Ayrıca veritabanındaki tablo üzerinde oluşturulan oluşturma, silme, güncelleme vb. çeşitli işlemleri de öğrendik.