Conexão de banco de dados JSP
Conectando ao banco de dados em JSP
O banco de dados é utilizado para armazenar diversos tipos de dados que são enormes e possuem capacidade de armazenamento em gigabytes. JSP pode se conectar a esses bancos de dados para criar e gerenciar os registros.
Neste tutorial aprenderemos como criar uma tabela no banco de dados e como criar registros nessas tabelas através de JSP.
Criar a tabela
In Banco de dados MYSQL, podemos criar uma tabela no banco de dados com qualquer cliente MYSQL. Aqui estamos usando PHPMyadminclient, e lá temos uma opção “new” para criar uma nova tabela usando a captura de tela abaixo.
Neste, temos que fornecer o nome da tabela como guru_test, e criaremos dois campos'emp_id e emp_name.
Emp_idis tendodatatype como int
Emp_name está tendodatatype como varchar
Outra opção é usar o prompt de comando e alterar o diretório MYSQL:
C:\> C:\>cd Program Files\MY SQL\bin C:\>Program Files\MySql\bin>
Podemos fazer login no banco de dados da seguinte maneira:
C:\Program Files\MYSQL\bin>mysql –u gururoot –p Enter Password: ******* Mysql>
Crie a tabela guru_test no banco de dados denominado GuruTest como o seguinte no prompt do 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)
Primeiro os registros são inseridos usando INSERT
consulta e então podemos usar SELECT
consulta para verificar se a tabela foi criada ou não.
Criar registros
Depois de criar uma tabela, precisamos criar registros na tabela guru_test usando a consulta insert, mostrada abaixo:
Os registros inseridos aqui são:
- 1 e guru emp1
- 2 e 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 Operações: Inserir, Atualizar, Excluir, Selecionar
Usando JSP, podemos fazer várias operações no banco de dados. Podemos inserir os registros e também podemos excluir os registros que não são necessários. Se algum registro precisar ser editado, podemos fazer isso usando uma atualização. A operação Select ajudará a buscar os registros que são necessários.
Selecionar
A operação Select é usada para selecionar os registros da tabela.
Exemplo:
Neste exemplo, aprenderemos sobre a operação select de busca de registros da tabela guru_test que foi criada na seção acima.
<%@ 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>
Explicação do código:
Linha de código 1: Aqui estamos importando io, uti e SQL bibliotecas de java.
Linha de código 3: Aqui estamos importando a biblioteca principal do JSTL e fornecendo seu prefixo como gurucore, o que ajudará a obter a saída.
Linha de código 4: Aqui estamos importando a biblioteca SQL de jstl e dando seu prefixo como gurusql que ajudará a fazer as operações SQL.
Linha de código 15-17: Aqui, usando gurusql, estamos conectando a fonte de dados nomeando a variável como “guru” e o driver como driver JDBC. Adicionando também nome de usuário e senha com “gururoot” e “guru”.
Linha de código 19-21: Aqui estamos usando a consulta SQL da consulta selecionada.
Linha de código 31-32: Estamos imprimindo a saída para emp id e emp name, que são obtidos dos resultados da consulta e usando o loop foreach imprimimos a saída.
Ao executar o código acima, obteremos a saída conforme abaixo;
Saída:
Aqui ambos os registros serão buscados no banco de dados
1 guru emp1
2 guru emp2
inserção
O operador Insert é usado para inserir os registros no banco de dados.
Exemplo:
Neste exemplo vamos aprender como inserir os registros da tabela 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>
Explicação do código:
Linha de código 19-20: Aqui estamos inserindo registros na tabela guru_test do GuruTestdatabase. Os registros inseridos são: empID – 3 e empname – emp emp3. Esses registros serão inseridos na tabela. Quando você executa o código, os registros são inseridos na tabela como guru_test, com valor 3 e emp emp3.
Nota: Aqui não estamos mostrando a saída, pois estamos apenas inserindo o registro na tabela. Podemos obter o registro usando select query as 'select * from guru_test'. Se o registro foi inserido, então, obteríamos o valor como 3 e emp3. Se o registro não for inserido, então, 3 não será visto nos registros na tabela.
Apagar
Esta é uma operação de exclusão onde excluímos os registros da tabela guru_test.
Exemplo:
Aqui iremos deletar a consulta para deletar o registro da tabela guru_test. O registro que deve ser excluído deve ser definido na variável “guruid”, e o registro correspondente é excluído do banco de dados.
<%@ 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>
Explicação do código:
Linha de código 18: Estamos definindo uma variável guruid cujo valor é 3, que deve ser deletada do banco de dados. Esta é sempre uma chave primária da tabela. Neste caso, a chave primária é emp_id.
Linha de código 19-22: Aqui estamos usando uma consulta delete que está definindo um parâmetro na cláusula where. Aqui o parâmetro é guruid que é definido na linha de código 18. O registro correspondente é excluído.
Saída:
Ao executar o código acima, o registro com emp_id como 3 é excluído.
Nota: Neste exemplo, não podemos mostrar a saída, pois estamos excluindo o registro da tabela. Para verificar se esse registro foi excluído, precisamos usar a consulta select “select * from guru_test”. Nesse caso, se obtivermos 3 como emp id, a consulta delete falhou, caso contrário, o registro foi excluído com sucesso.
Atualizar
A atualização é usada para editar os registros da tabela.
Exemplo:
<%@ 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>
Explicação do código:
Linha de código 18: Aqui estamos definindo uma variável guruid como 2. Este é o ID onde queremos atualizar o registro.
Linha de código 19-22: Aqui estamos usando uma consulta de atualização para atualizar o registro na tabela guru_test do registro, que está definido no ponto 18. Aqui emp guru2 é substituído por emp guru99
Saída:
Quando você executa o código acima, o registro com emp_id 2 é alterado para 99. Então, agora a saída mostrará emp”guru99″ em vez de emp “guru2”.
Resumo
Neste tutorial, aprendemos como conectar JSP ao banco de dados e ao acesso ao banco de dados. Além disso, aprendemos sobre várias operações realizadas na tabela do banco de dados, como criar, excluir, atualizar, etc.