Соединение с базой данных JSP
⚡ Умное резюме
Подключение JSP к базе данных позволяет веб-приложению хранить и управлять большими объемами данных, связывая страницы JSP с реляционной базой данных. В этом ресурсе объясняется, как создать такое подключение. MySQL Вставка записей в таблицу, а также выполнение операций SELECT, INSERT, UPDATE и DELETE с использованием 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-запрос SELECT.
Code Линия 31-32: Мы выводим идентификатор и имя сотрудника, полученные из результатов запроса, и используем цикл foreach для вывода этих данных.
При выполнении приведенного выше кода мы получим следующий результат:
Выход:
В данном случае обе записи будут извлечены из базы данных:
- 1 гуру emp1
- 2 гуру emp2
Вставить
Оператор 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 и emp e.mp3.
Примечание: Здесь мы не показываем результат, так как просто вставляем запись в таблицу. Мы можем получить запись, используя запрос SELECT, например, 'select * from guru_test'. Если бы запись была вставлена, мы бы получили значение 3 и e.mp3Если запись не будет вставлена, то число 3 не будет отображаться в записях таблицы.
Удалить
Это операция удаления, в ходе которой мы удаляем записи из таблицы guru_test.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
Здесь мы воспользуемся запросом DELETE для удаления записи из таблицы 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 «select * from guru_test». В этом случае, если мы получим 3 в качестве идентификатора сотрудника, то запрос на удаление не удался; в противном случае запись была успешно удалена.
Обновление ПО
Обновление используется для редактирования записей в таблице.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
<%@ 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”.


