JSP връзка с база данни
Свързване към база данни в JSP
Базата данни се използва за съхраняване на различни видове данни, които са огромни и имат капацитет за съхранение в гигабайти. JSP може да се свързва с такива бази данни, за да създава и управлява записите.
В този урок ще научим как да създадем таблица в базата данни и как да създадем записи в тези таблици чрез JSP.
Създаване на таблица
In MYSQL база данни, можем да създадем таблица в базата данни с всеки MYSQL клиент. Тук използваме PHPMyadminclient и там имаме опция „нова“ за създаване на нова таблица, използвайки екранната снимка по-долу.
В това трябва да предоставим име на таблица като guru_test и ще създадем две полета 'emp_id и emp_name.
Emp_idis има тип данни като int
Emp_name има тип данни като varchar
Друг вариант е чрез използване на командния ред и промени в 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 към базата данни и достъпа до базата данни. Освен това научихме за различни операции, извършвани върху таблицата в базата данни, като създаване, изтриване, актуализиране и т.н.