Połączenie z bazą danych JSP
Łączenie się z bazą danych w JSP
Baza danych służy do przechowywania różnego rodzaju danych, które są ogromne i mają pojemność w gigabajtach. JSP może łączyć się z takimi bazami danych w celu tworzenia rekordów i zarządzania nimi.
W tym samouczku dowiemy się, jak utworzyć tabelę w bazie danych i jak utworzyć rekordy w tych tabelach za pomocą JSP.
Utwórz tabelę
In Baza danych MYSQL, możemy utworzyć tabelę w bazie danych za pomocą dowolnego klienta MYSQL. Tutaj używamy PHPMyadminclient i mamy opcję „new” do utworzenia nowej tabeli za pomocą poniższego zrzutu ekranu.
W tym przypadku musimy podać nazwę tabeli jako guru_test i utworzymy dwa pola: emp_id i emp_name.
Emp_idis posiadający typ danych jako int
Nazwa_emp ma typ danych jako varchar
Inną opcją jest użycie wiersza poleceń i wprowadzenie zmian w katalogu MYSQL:
C:\> C:\>cd Program Files\MY SQL\bin C:\>Program Files\MySql\bin>
Do bazy danych możemy zalogować się w następujący sposób:
C:\Program Files\MYSQL\bin>mysql –u gururoot –p Enter Password: ******* Mysql>
Utwórz tabelę guru_test w bazie danych o nazwie GuruTesta i wpisz w wierszu poleceń 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)
Najpierw wstawiane są rekordy za pomocą INSERT
zapytanie i wtedy możemy użyć SELECT
zapytanie sprawdzające, czy tabela została utworzona, czy nie.
Twórz rekordy
Po utworzeniu tabeli musimy utworzyć rekordy w tabeli guru_test za pomocą zapytania wstawiającego, co pokazano poniżej:
Wpisane tutaj rekordy to:
- 1 i guru emp1
- 2 i guru 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 OperaOpcje: Wstaw, Aktualizuj, Usuń, Wybierz
Używając JSP, możemy wykonywać wiele operacji na bazie danych. Możemy wstawiać rekordy, a także możemy usuwać rekordy, które nie są wymagane. Jeśli jakiś rekord wymaga edycji, możemy to zrobić za pomocą aktualizacji. Operacja Select pomoże pobrać rekordy, które są wymagane.
Wybierz
Operacja Wybierz służy do wybierania rekordów z tabeli.
Przykład:
W tym przykładzie poznamy operację SELECT polegającą na pobieraniu rekordów z tabeli guru_test, która została utworzona w powyższej sekcji.
<%@ 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>
Wyjaśnienie kodu:
Linia kodu 1: Tutaj importujemy io, uti i SQL biblioteki javy.
Linia kodu 3: Tutaj importujemy podstawową bibliotekę JSTL i podajemy jej przedrostek jako gurucore, co pomoże uzyskać dane wyjściowe.
Linia kodu 4: Tutaj importujemy bibliotekę SQL jstl i podajemy jej prefiks gurusql, co ułatwi wykonywanie operacji SQL.
Linia kodu 15-17: Tutaj za pomocą gurusql łączymy źródło danych, nazywając zmienną „guru”, a sterownik jako sterownik JDBC. Dodano także nazwę użytkownika i hasło za pomocą „gururoot” i „guru”.
Linia kodu 19-21: Tutaj używamy zapytania SQL zapytania wybierającego.
Linia kodu 31-32: Drukujemy dane wyjściowe dla identyfikatora emp i nazwy emp, które są pobierane z wyników zapytania i za pomocą pętli foreach drukujemy wynik.
Kiedy wykonasz powyższy kod, otrzymamy wynik jak poniżej;
Wyjście:
Tutaj oba rekordy zostaną pobrane z bazy danych
1 guru mp1
2 guru mp2
wstawka
Operator wstawiania służy do wstawiania rekordów do baza danych.
Przykład:
W tym przykładzie nauczymy się wstawiać rekordy do tabeli 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>
Wyjaśnienie kodu:
Linia kodu 19-20: Tutaj wstawiamy rekordy do tabeli guru_test bazy danych GuruTestdatabase. Wstawione rekordy to: empID – 3 i empname – emp emp3. Te rekordy zostaną wstawione do tabeli. Po wykonaniu kodu rekordy zostaną wstawione do tabeli jako guru_test, z wartością 3 i emp emp3.
Uwaga: Tutaj nie pokazujemy wyniku, ponieważ po prostu wstawiamy rekord do tabeli. Możemy uzyskać rekord za pomocą zapytania SELECT jako 'select * from guru_test'. Gdyby rekord został wstawiony, otrzymalibyśmy wartość jako 3 i emp3. Jeśli rekord nie został wstawiony, 3 nie będzie widoczne w rekordach w tabeli.
Usuń
Jest to operacja usuwania, podczas której usuwamy rekordy z tabeli guru_test.
Przykład:
Tutaj usuniemy zapytanie o usunięcie rekordu z tabeli guru_test. Rekord, który ma zostać usunięty, należy ustawić w zmiennej „guruid”, a odpowiedni rekord zostanie usunięty z bazy danych.
<%@ 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>
Wyjaśnienie kodu:
Linia kodu 18: Ustawiamy zmienną guruid o wartości 3, którą należy usunąć z bazy danych. Jest to zawsze klucz podstawowy tabeli. W tym przypadku kluczem podstawowym jest emp_id.
Linia kodu 19-22: Tutaj używamy zapytania delete, które ustawia parametr w klauzuli where. Tutaj parametrem jest guruid, który jest ustawiony w wierszu kodu 18. Odpowiedni rekord jest usuwany.
Wyjście:
Kiedy wykonasz powyższy kod, rekord z emp_id jako 3 zostanie usunięty.
Uwaga: W tym przykładzie nie możemy pokazać wyniku, ponieważ usuwamy rekord z tabeli. Aby sprawdzić, czy rekord został usunięty, musimy użyć zapytania select „select * from guru_test”. W takim przypadku, jeśli otrzymamy 3 jako emp id, zapytanie delete nie powiedzie się, w przeciwnym razie rekord zostanie pomyślnie usunięty.
Aktualizacja
Aktualizacja służy do edycji rekordów w tabeli.
Przykład:
<%@ 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>
Wyjaśnienie kodu:
Linia kodu 18: Tutaj ustawiamy zmienną guruid na 2. Jest to identyfikator, w którym chcemy zaktualizować rekord.
Linia kodu 19-22: Tutaj używamy zapytania aktualizującego, aby zaktualizować rekord w tabeli guru_test rekordu, który jest ustawiony w punkcie 18. Tutaj emp guru2 zostaje zastąpione przez emp guru99
Wyjście:
Po wykonaniu powyższego kodu rekord z emp_id 2 zostanie zmieniony na 99. Tak więc teraz na wyjściu będzie widoczny emp „guru99” zamiast emp „guru2”.
Podsumowanie
W tym samouczku dowiedzieliśmy się o łączeniu JSP z bazą danych i dostępie do bazy danych. Dowiedzieliśmy się również o różnych operacjach wykonywanych na tabeli w bazie danych, takich jak tworzenie, usuwanie, aktualizowanie itp.