Підключення до бази даних JSP

⚡ Розумний підсумок

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

  • 🗄️ Мета: Бази даних зберігають гігабайти даних, які JSP може створювати, читати та керувати ними.
  • 🧱 Створити таблицю: Створіть таблицю guru_test з emp_id та emp_name, використовуючи MySQL клієнт або підказка.
  • 🔌 З'єднання: Тег sql:setDataSource надає драйвер JDBC, URL, користувач та пароль.
  • 🔁 Сирий Operaтиони: Вибір, вставка, оновлення та видалення виконуються за допомогою тегів JSTL SQL.
  • 🔑 Параметри: Використовуйте sql:param та первинний ключ, такий як emp_id, для цільового доступу до певних записів.

Підключення до бази даних JSP

Підключення до бази даних у JSP

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

У цьому посібнику ми дізнаємося, як створити таблицю в базі даних і як створити записи в цих таблицях за допомогою JSP.

Створити таблицю

In База даних MYSQL, ми можемо створити таблицю в базі даних за допомогою будь-якого клієнта MYSQL. Тут ми використовуємо клієнт PHPMyadmin, і там у нас є опція «нова» для створення нової таблиці за допомогою знімка екрана нижче.

Створення таблиці в базі даних JSP

У цьому випадку нам потрібно вказати назву таблиці guru_test, і ми створимо два поля: emp_id та emp_name.

  • Emp_id має тип даних 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 у базі даних з назвою 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”.

Поширені запитання

Так. Помічники ШІ можуть генерувати теги JSTL SQL або код JDBC для підключення JSP до MySQL, створювати запити та відображати рядки результатів. Вам все одно слід перевірити драйвер, URLта облікові дані перед запуском.

Так. Інструменти штучного інтелекту можуть позначати запити, об'єднані рядками, та пропонувати параметризовані запити або підготовлені оператори. Це зменшує ризик SQL-ін'єкцій, хоча все ще рекомендується ручна перевірка безпеки всіх вхідних даних бази даних.

JDBC (Java Підключення до бази даних) – це API, який дозволяє Java а JSP-додатки підключаються до бази даних. Він завантажує драйвер, такий як com.mysql.jdbc.Driver, та виконує SQL-інструкції через це з'єднання.

Ні. Теги JSTL sql підходять для навчання та прототипів. Для продакшену логіка бази даних має бути розміщена в сервлетах, DAO або фреймворку.ping JSP зосереджувався на презентації, а не на прямих запитах.

Підсумуйте цей пост за допомогою: