JSP Veritabanı Bağlantısı
⚡ Akıllı Özet
JSP Veritabanı Bağlantısı, bir web uygulamasının JSP sayfalarını ilişkisel bir veritabanına bağlayarak büyük miktarda veriyi depolamasını ve yönetmesini sağlar. Bu kaynak, bir JSP veritabanı bağlantısının nasıl oluşturulacağını açıklamaktadır. MySQL JSTL SQL etiketlerini kullanarak tabloya kayıt ekleyin ve SELECT, INSERT, UPDATE ve DELE işlemlerini gerçekleştirin.

JSP'de Veritabanına Bağlanma
Veritabanı, gigabaytlarca depolama kapasitesine sahip, çok büyük miktarda çeşitli veriyi saklamak 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 tablo oluşturabiliriz. Burada PHPMyAdmin istemcisini kullanıyoruz ve aşağıdaki ekran görüntüsünde gösterildiği gibi yeni bir tablo oluşturmak için "yeni" seçeneğimiz var.
Burada tablo adını guru_test olarak belirtmemiz ve emp_id ile emp_name olmak üzere iki alan oluşturmamız gerekiyor.
- Emp_id'nin veri tipi int'tir.
- Emp_name'in veri tipi varchar'dır.
Diğer bir seçenek ise komut istemini kullanarak MYSQL dizinine geçmektir:
C:\> C:\>cd Program Files\MY SQL\bin C:\>Program Files\MySql\bin>
Veritabanına aşağıdaki şekilde giriş yapabiliriz:
C:\Program Files\MYSQL\bin>mysql –u gururoot –p Enter Password: ******* Mysql>
Veritabanında guru_test adında bir tablo oluşturun. GuruMySQL komut isteminde aşağıdaki gibi test edin:
Mysql> use GuruTest; MySql> create table guru_test( Emp_id int NOT NULL, Emp_name varchar(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)
Öncelikle kayıtlar şu yöntem kullanılarak eklenir: INSERT sorguyu kullanabiliriz ve sonra da bunu kullanabiliriz. SELECT Tablonun oluşturulup oluşturulmadığını kontrol etmek için sorgu.
Kayıt Oluştur
Tabloyu oluşturduktan sonra, aşağıda gösterilen INSERT sorgusunu kullanarak guru_test tablosuna kayıtlar eklememiz gerekiyor:
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ında birden fazla işlem gerçekleştirebiliriz. Kayıt ekleyebilir ve ayrıca gereksiz kayıtları silebiliriz. Herhangi bir kaydın düzenlenmesi gerekiyorsa, bunu güncelleme işlemiyle yapabiliriz. Seçme işlemi, gerekli kayıtları getirmeye yardımcı olur.
Seç
Seçme işlemi tablodaki kayıtları seçmek için kullanılır.
Örnek:
Bu örnekte, yukarıdaki bölümde oluşturulan guru_test tablosundan kayıtları getirme işlemi olan SELECT 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ı:
Code Çizgi 1: Burada io, util ve diğer modülleri içe aktarıyoruz. SQL java kütüphaneleri.
Code Çizgi 3: Burada JSTL'nin temel kütüphanesini içe aktarıyoruz ve çıktıyı elde etmemize yardımcı olacak şekilde başına "c" önekini veriyoruz.
Code Çizgi 4: Burada JSTL'nin SQL kütüphanesini içe aktarıyoruz ve SQL işlemlerini yapmamıza yardımcı olacak şekilde başına "sql" önekini veriyoruz.
Code 15-17 satır: Burada SQL kullanarak, değişkeni "snapshot" ve sürücüyü JDBC sürücüsü olarak adlandırarak veri kaynağına bağlanıyoruz. Ayrıca kullanıcı adı ve şifre olarak "gururoot" ve "guru" ekliyoruz.
Code 19-21 satır: Burada SELECT sorgusunun SQL sorgusunu kullanıyoruz.
Code 31-32 satır: Sorgunun sonuçlarından alınan çalışan kimliği ve çalışan adı için çıktıyı bir foreach döngüsü kullanarak yazdırıyoruz.
Yukarıdaki kodu çalıştırdığınızda, aşağıdaki gibi bir çıktı alacaksınız:
Çıktı:
Burada her iki kayıt da veritabanından alınacaktır:
- 1 guru emp1
- 2 guru emp2
Ekle
Ekleme operatörü, kayıtları veritabanına 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ı:
Code 19-20 satır: Burada, guru_test tablosuna kayıtlar ekliyoruz. GuruTest veritabanı. Eklenen kayıtlar şunlardır: empID – 3 ve empname – emp emp3Bu kayıtlar tabloya eklenecektir. Kodu çalıştırdığınızda, kayıtlar guru_test tablosuna 3 değeri ve emp e ile eklenir.mp3.
Not: Burada çıktıyı göstermiyoruz çünkü sadece kaydı tabloya ekliyoruz. Kaydı 'select * from guru_test' sorgusuyla alabiliriz. Eğer kayıt eklenmiş olsaydı, 3 ve e değerlerini alırdık.mp3Kayıt eklenmezse, tablodaki kayıtlarda 3 rakamı görünmeyecektir.
Sil
Bu, guru_test tablosundan kayıtları sildiğimiz silme işlemidir.
Örnek:
Burada, guru_test tablosundan kaydı silmek için silme sorgusunu kullanacağız. Silinecek kayıt "guruid" değişkenine atanmalı ve ilgili kayıt veritabanından silinmelidir.
<%@ 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ı:
Code Çizgi 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.
Code 19-22 satır: Burada, WHERE koşulunda bir parametre belirleyen bir silme sorgusu kullanıyoruz. Burada parametre, 18. kod satırında tanımlanan 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, tablodan kaydı sildiğimiz için çıktıyı gösteremiyoruz. Kaydın silinip silinmediğini kontrol etmek için "select * from guru_test" sorgusunu kullanmamız gerekiyor. Bu durumda, eğer çalışan kimliği olarak 3 değerini alırsak, silme sorgusu başarısız olmuş demektir; 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ı:
Code Çizgi 18: Burada guruid değişkenini 2 olarak ayarlıyoruz. Bu, kaydı güncellemek istediğimiz ID'dir.
Code 19-22 satır: Burada, 18. maddede tanımlanan kaydın guru_test tablosundaki kaydını güncellemek için bir güncelleme sorgusu kullanıyoruz. Burada emp guru2, emp guru99 ile değiştiriliyor.
Çıktı:
Yukarıdaki kodu çalıştırdığınızda, emp_id 2 olan kayıt 99 olarak değiştirilir. Dolayısıyla, çıktı artık "guru2" yerine "guru99" şeklinde görünecektir.


