JSP връзка с база данни

Свързване към база данни в JSP

Базата данни се използва за съхраняване на различни видове данни, които са огромни и имат капацитет за съхранение в гигабайти. JSP може да се свързва с такива бази данни, за да създава и управлява записите.

В този урок ще научим как да създадем таблица в базата данни и как да създадем записи в тези таблици чрез JSP.

Създаване на таблица

In MYSQL база данни, можем да създадем таблица в базата данни с всеки MYSQL клиент. Тук използваме PHPMyadminclient и там имаме опция „нова“ за създаване на нова таблица, използвайки екранната снимка по-долу.

Създайте таблица в JSP база данни

В това трябва да предоставим име на таблица като guru_test и ще създадем две полета 'emp_id и emp_name.

Emp_idis има тип данни като int

Emp_name има тип данни като varchar

Създайте таблица в JSP база данни

Друг вариант е чрез използване на командния ред и промени в MYSQL директорията:

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

Можем да влезем в базата данни, както следва:

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

Създайте таблица guru_test в базата данни, наречена GuruTestas следното в MYSQL подкана:

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)

Първо записите се вмъкват с помощта на INSERT заявка и след това можем да използваме SELECT заявка за проверка дали таблицата е създадена или не.

Създаване на записи

След като създадем таблица, трябва да създадем записи в таблицата guru_test, като използваме заявка за вмъкване, която е показана по-долу:

Въведените тук записи са:

  • 1 и гуру emp1
  • 2 и гуру 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ции: Вмъкване, Актуализиране, Изтриване, Избор

Използвайки JSP, можем да извършваме множество операции в базата данни. Можем да вмъкваме записите, а също така можем да изтриваме записите, които не са необходими. Ако някой запис трябва да бъде редактиран, тогава можем да го направим с помощта на актуализация. Операцията Select ще помогне за извличане на необходимите записи.

Изберете

Операцията Select се използва за избиране на записите от таблицата.

Пример:

В този пример ще научим за операцията за избор на извличане на записи от таблицата guru_test, която е създадена в горния раздел.

<%@ 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>

Обяснение на кода:

Кодов ред 1: Тук импортираме io, uti и SQL библиотеки на java.

Кодов ред 3: Тук импортираме основната библиотека на JSTL и даваме нейния префикс като gurucore, което ще помогне за получаване на резултат.

Кодов ред 4: Тук импортираме SQL библиотека на jstl и даваме нейния префикс като gurusql, което ще помогне за извършване на SQL операциите.

Кодов ред 15-17: Тук използвайки gurusql, ние свързваме източник на данни, като наименуваме променливата като „guru“ и драйвера като JDBC драйвер. Също така добавяне на потребителско име и парола с „gururoot“ и „guru“.

Кодов ред 19-21: Тук използваме SQL заявка на заявката за избор.

Кодов ред 31-32: Ние отпечатваме изхода за emp id и emp name, които се извличат от резултатите на заявката и използвайки foreach цикъл, отпечатваме изхода.

Когато изпълните горния код, ще получим резултата, както е показано по-долу;

Изход:

Тук и двата записа ще бъдат извлечени от базата данни

1 гуру emp1

2 гуру emp2

Поставете

Операторът за вмъкване се използва за вмъкване на записите в база данни.

Пример:

В този пример ще научим за вмъкването на записите в таблицата guru_test

<%@ 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>

Обяснение на кода:

Кодов ред 19-20: Тук вмъкваме записи в таблицата guru_test на GuruTestdatabase. Вмъкнатите записи са: empID – 3 и empname – emp emp3. Тези записи ще бъдат вмъкнати в таблицата. Когато изпълните кода, записите се вмъкват в таблицата като guru_test със стойност 3 и emp emp3.

Забележка: Тук не показваме изхода, тъй като просто вмъкваме записа в таблицата. Можем да получим записа с помощта на заявка за избор като 'select * from guru_test'. Ако записът беше вмъкнат тогава, ще получим стойността като 3 и emp3. Ако записът не е вмъкнат тогава, 3 няма да се види в записите в таблицата.

Изтрий

Това е операция за изтриване, при която изтриваме записите от таблицата guru_test.

Пример:

Тук ще изтрием заявка за изтриване на записа от таблицата guru_test. Записът, който трябва да бъде изтрит, трябва да бъде зададен в променливата „guruid“ и съответният запис се изтрива от базата данни.

<%@ 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>

Обяснение на кода:

Кодов ред 18: Задаваме променлива guruid, чиято стойност е 3, която трябва да бъде изтрита от базата данни. Това винаги е първичен ключ на таблицата. В този случай първичният ключ е emp_id.

Кодов ред 19-22: Тук използваме заявка за изтриване, която задава параметър в клаузата where. Тук параметърът е guruid, който е зададен в кодов ред 18. Съответният запис се изтрива.

Изход:

Когато изпълните горния код, записът с emp_id като 3 се изтрива.

Забележка: В този пример не можем да покажем изхода, тъй като изтриваме записа от таблицата. За да проверим дали този запис е изтрит, трябва да използваме заявка за избор „select * from guru_test“. В този случай, ако получим 3 като emp id, тогава заявката за изтриване е неуспешна, в противен случай записът е изтрит успешно.

Актуализация

Актуализацията се използва за редактиране на записите в таблицата.

Пример:

<%@ 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>
	

Обяснение на кода:

Кодов ред 18: Тук задаваме променлива guruid като 2. Това е ID, където искаме да актуализираме записа.

Кодов ред 19-22: Тук използваме заявка за актуализиране, за да актуализираме записа в таблицата guru_test на записа, който е зададен в точка 18. Тук emp guru2 се заменя с emp guru99

Изход:

Когато изпълните горния код, записът с emp_id 2 се променя на 99. Така че сега изходът ще показва emp”guru99″ вместо emp “guru2”.

Oбобщение

В този урок научихме за свързването на JSP към базата данни и достъпа до базата данни. Освен това научихме за различни операции, извършвани върху таблицата в базата данни, като създаване, изтриване, актуализиране и т.н.