Підключення до бази даних JSP
⚡ Розумний підсумок
Підключення до бази даних JSP дозволяє веб-застосунку зберігати та керувати великими обсягами даних, пов'язуючи сторінки JSP з реляційною базою даних. У цьому ресурсі пояснюється, як створити MySQL таблицю, вставляти записи та виконувати операції вибору, вставки, оновлення та видалення за допомогою тегів SQL JSTL.

Підключення до бази даних у JSP
База даних використовується для зберігання різних типів даних, які є величезними та мають ємність у гігабайтах. JSP може підключатися до таких баз даних для створення та керування записами.
У цьому посібнику ми дізнаємося, як створити таблицю в базі даних і як створити записи в цих таблицях за допомогою JSP.
Створити таблицю
In База даних MYSQL, ми можемо створити таблицю в базі даних за допомогою будь-якого клієнта MYSQL. Тут ми використовуємо клієнт PHPMyadmin, і там у нас є опція «нова» для створення нової таблиці за допомогою знімка екрана нижче.
У цьому випадку нам потрібно вказати назву таблиці guru_test, і ми створимо два поля: emp_id та emp_name.
- Emp_id має тип даних 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 у базі даних з назвою GuruПеревірте наступне в командному рядку MYSQL:
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)
Спочатку записи вставляються за допомогою 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 використовується для вибору записів із таблиці.
приклад:
У цьому прикладі ми розглянемо операцію 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>
Пояснення коду:
Code Лінія 1: Тут ми імпортуємо io, util та SQL бібліотеки java.
Code Лінія 3: Тут ми імпортуємо основну бібліотеку JSTL та надаємо її префікс c, що допоможе отримати вивід.
Code Лінія 4: Тут ми імпортуємо SQL-бібліотеку JSTL та надаємо її префікс sql, що допоможе виконувати SQL-операції.
Code Рядок 15-17: Тут, використовуючи SQL, ми підключаємо джерело даних, називаючи змінну «snapshot», а драйвер — драйвером JDBC. Також додаємо ім'я користувача та пароль «gururoot» та «guru».
Code Рядок 19-21: Тут ми використовуємо SQL-запит запиту на вибір.
Code Рядок 31-32: Ми друкуємо вивід для ідентифікатора emp та імені emp, які отримуються з результатів запиту, та за допомогою циклу foreach друкуємо вивід.
Коли ви виконаєте наведений вище код, ми отримаємо результат, як показано нижче:
вихід:
Тут обидва записи будуть отримані з бази даних:
- 1 гуру emp1
- 2 гуру emp2
Insert
Оператор Insert використовується для вставки записів у база даних.
приклад:
У цьому прикладі ми дізнаємося про вставку записів у таблицю 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>
Пояснення коду:
Code Рядок 19-20: Тут ми вставляємо записи в таблицю guru_test GuruТестова база даних. Вставлені записи: empID – 3 та empname – emp emp3Ці записи будуть вставлені в таблицю. Після виконання коду записи вставляються в таблицю guru_test зі значенням 3 та пустим полем e.mp3.
Примітка: Тут ми не показуємо результат, оскільки просто вставляємо запис у таблицю. Ми можемо отримати запис за допомогою запиту на вибірку як 'select * from guru_test'. Якби запис було вставлено, то ми отримали б значення 3 та e.mp3Якщо запис не вставлено, то число 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>
Пояснення коду:
Code Лінія 18: Ми встановлюємо змінну guruid зі значенням 3, яку потрібно видалити з бази даних. Це завжди первинний ключ таблиці. У цьому випадку первинним ключем є emp_id.
Code Рядок 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>
Пояснення коду:
Code Лінія 18: Тут ми встановлюємо змінну guruid як 2. Це ідентифікатор, за яким ми хочемо оновити запис.
Code Рядок 19-22: Тут ми використовуємо запит на оновлення для оновлення запису в таблиці guru_test, який встановлено в пункті 18. Тут emp guru2 замінюється на emp guru99.
вихід:
Коли ви виконуєте наведений вище код, запис з emp_id 2 змінюється на 99. Отже, тепер у виводі буде показано emp “guru99” замість emp “guru2”.


