Підключення до бази даних 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
Операція 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
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>
Пояснення коду:
Рядок коду 19-20: Тут ми вставляємо записи в таблицю guru_test бази даних GuruTest. Вставлені записи: empID – 3 і empname – emp emp3. Ці записи буде вставлено в таблицю. Коли ви виконуєте код, записи вставляються в таблицю як guru_test зі значенням 3 і emp emp3.
Примітка: Тут ми не показуємо результат, оскільки ми просто вставляємо запис у таблицю. Ми можемо отримати запис за допомогою запиту select як '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, тоді запит на видалення не вдався, інакше запис було успішно видалено.
Оновити
Оновлення використовується для редагування записів у таблиці.
приклад:
<%@ 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. Це ідентифікатор, за яким ми хочемо оновити запис.
Рядок коду 19-22: Тут ми використовуємо запит на оновлення для оновлення запису в таблиці guru_test запису, який встановлено в пункті 18. Тут emp guru2 замінено на emp guru99
вихід:
Коли ви виконуєте наведений вище код, запис із emp_id 2 змінюється на 99. Отже, тепер у виводі відображатиметься emp”guru99″ замість emp “guru2”.
Підсумки
У цьому посібнику ми дізналися про підключення JSP до бази даних і доступ до бази даних. Крім того, ми дізналися про різні операції, які виконуються над таблицею в базі даних, як-от створення, видалення, оновлення тощо.