Připojení k databázi JSP

Připojení k databázi v JSP

Databáze slouží k ukládání různých typů dat, která jsou obrovská a mají úložnou kapacitu v gigabajtech. JSP se může připojit k takovým databázím a vytvářet a spravovat záznamy.

V tomto tutoriálu se naučíme, jak vytvořit tabulku v databázi a jak vytvořit záznamy v těchto tabulkách prostřednictvím JSP.

Vytvořit tabulku

In databáze MYSQL, můžeme vytvořit tabulku v databázi pomocí libovolného klienta MYSQL. Zde používáme PHPMyadminclient a tam máme možnost „nový“ pro vytvoření nové tabulky pomocí níže uvedeného snímku obrazovky.

Vytvořte tabulku v databázi JSP

V tomto musíme zadat název tabulky jako guru_test a vytvoříme dvě pole'emp_id a emp_name.

Emp_idis má datový typ jako int

Emp_name má datový typ jako varchar

Vytvořte tabulku v databázi JSP

Další možností je použití příkazového řádku a změn v adresáři MYSQL:

C:\>
C:\>cd Program Files\MY SQL\bin
C:\>Program Files\MySql\bin>

Do databáze se můžeme přihlásit následovně:

C:\Program Files\MYSQL\bin>mysql –u gururoot –p
Enter Password: *******
Mysql>

Vytvořte tabulku guru_testin databázi pojmenovanou jako GuruTestas následujícím způsobem na příkazovém řádku 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)

Nejprve se záznamy vloží pomocí INSERT dotaz a pak můžeme použít SELECT dotaz pro kontrolu, zda je tabulka vytvořena nebo ne.

Vytvářejte záznamy

Po vytvoření tabulky musíme vytvořit záznamy do tabulky guru_test pomocí vkládacího dotazu, který je zobrazen níže:

Zde uvedené záznamy jsou:

  • 1 a guru emp1
  • 2 a 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 Operafunkce: Vložit, Aktualizovat, Smazat, Vybrat

Pomocí JSP můžeme s databází provádět více operací. Můžeme vkládat záznamy a také můžeme mazat záznamy, které nepotřebujeme. Pokud je potřeba nějaký záznam upravit, můžeme to udělat pomocí aktualizace. Operace Select pomůže načíst požadované záznamy.

vybrat

Operace Select slouží k výběru záznamů z tabulky.

Příklad:

V tomto příkladu se seznámíme s operací výběru načítání záznamů z tabulky guru_test, která byla vytvořena ve výše uvedené části.

<%@ 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>

Vysvětlení kódu:

1. řádek kódu: Zde importujeme io, uti a SQL java knihovny.

3. řádek kódu: Zde importujeme základní knihovnu JSTL a dáváme její předponu jako gurucore, což pomůže získat výstup.

4. řádek kódu: Zde importujeme SQL knihovnu jstl a dáváme její předponu jako gurusql, což pomůže provádět operace SQL.

Řádek 15–17 kódu: Zde pomocí gurusql připojujeme zdroj dat pojmenováním proměnné jako „guru“ a ovladače jako ovladače JDBC. Také přidání uživatelského jména a hesla s „gururoot“ a „guru“.

Řádek 19–21 kódu: Zde používáme SQL dotaz výběrového dotazu.

Řádek 31–32 kódu: Tiskneme výstup pro emp id a emp jméno, které jsou načteny z výsledků dotazu a pomocí smyčky foreach vytiskneme výstup.

Když spustíte výše uvedený kód, dostaneme výstup, jak je uvedeno níže;

Výstup:

Zde budou oba záznamy načteny z databáze

1 guru emp1

2 guru emp2

Vložit

Operátor Insert slouží k vložení záznamů do databáze.

Příklad:

V tomto příkladu se naučíme vkládat záznamy do tabulky 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>

Vysvětlení kódu:

Řádek 19–20 kódu: Zde vkládáme záznamy do tabulky guru_test databáze GuruTest. Vložené záznamy jsou: empID – 3 a empname – emp emp3. Tyto záznamy budou vloženy do tabulky Když spustíte kód, záznamy se vloží do tabulky jako guru_test , s hodnotou 3 a emp emp3.

Poznámka: Zde neukazujeme výstup, pouze vkládáme záznam do tabulky. Záznam můžeme získat pomocí výběrového dotazu jako 'select * from guru_test'. Pokud by byl záznam vložen tehdy, dostali bychom hodnotu 3 a emp3. Pokud záznam nevložíte, 3 se v záznamech v tabulce nezobrazí.

Vymazat

Toto je operace mazání, kdy mažeme záznamy z tabulky guru_test.

Příklad:

Zde smažeme dotaz pro smazání záznamu z tabulky guru_test. Záznam, který má být smazán, musí být nastaven v proměnné „guruid“ a příslušný záznam je smazán z databáze.

<%@ 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>

Vysvětlení kódu:

18. řádek kódu: Nastavujeme proměnnou guruid, jejíž hodnota je 3, která musí být smazána z databáze. Toto je vždy primární klíč tabulky. V tomto případě je primárním klíčem emp_id.

Řádek 19–22 kódu: Zde používáme odstraňovací dotaz, který nastavuje parametr v klauzuli where. Zde je parametrem guruid, který se nastavuje na řádku kódu 18. Odpovídající záznam je smazán.

Výstup:

Když spustíte výše uvedený kód, záznam s emp_id jako 3 se odstraní.

Poznámka: V tomto příkladu nemůžeme zobrazit výstup, protože odstraňujeme záznam z tabulky. Chcete-li zkontrolovat, zda je tento záznam smazán, musíme použít výběrový dotaz „select * from guru_test“. V takovém případě, pokud dostaneme 3 jako emp id, pak dotaz na odstranění selhal, jinak byl záznam úspěšně odstraněn.

Aktualizace

Aktualizace slouží k úpravě záznamů v tabulce.

Příklad:

<%@ 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>
	

Vysvětlení kódu:

18. řádek kódu: Zde nastavujeme proměnnou guruid na 2. Toto je ID, kde chceme aktualizovat záznam.

Řádek 19–22 kódu: Zde používáme aktualizační dotaz k aktualizaci záznamu v tabulce guru_test záznamu, který je nastaven v bodě 18. Zde je emp guru2 nahrazeno emp guru99

Výstup:

Když spustíte výše uvedený kód, záznam withemp_id 2 se změní na 99. Nyní tedy výstup zobrazí emp”guru99″ místo emp “guru2”.

Shrnutí

V tomto tutoriálu jsme se dozvěděli o připojení JSP k databázi a přístupu k databázi. Také jsme se dozvěděli o různých operacích prováděných na tabulce v databázi, jako je vytvoření, odstranění, aktualizace atd.