Você está na página 1de 23

Bancodedados:TEST

Tabela:Cliente

CREATETABLEcliente(
idMEDIUMINTNOTNULLAUTO_INCREMENT,
nomeCHAR(30)NOTNULL,
PRIMARYKEY(id)
)ENGINE=MyISAM

INSERTINTOcliente(nome)VALUES
('Silvio'),('Joo'),('Maria'),
('Joaquim'),('Maria'),('Vinicius')

SELECT*FROMcliente

1MySql

Bancodedados

2JSP
Pgm.JSP
<%
Comandos.
%>
3Servlet

Pgm.JAVA

RetornaasrequisiesdeumJSPouHTML

CRUDcomJSPeServlet+MySQL+NetBeans

Configuraoinicial

Este um exemplo de uma insero e dados simples seguindo


osseguintespassos:

1.

Crie o Banco de Dados (Qualquer nome) e uma Tabela


(Qualquernome)comomostraafiguraabaixo...

2.

CriarumnovoProjetoJavaWeb...

Resultado:

3.

Configurar a conexo do aplicativo com o Banco de Dados


MySQL.PrecisaremosdodriverJBDBCdoMySQL.

3.1

Clique com o boto direito na pasta Bibliotecas

Adicionar
Biblioteca...

Resultado:

Implementaodosistema

2.1

Dentro do src: Pacotes de Cdigosfonte vamoscriarumpacote


denomemodelo,controleedao

AgoracriaremosaClasseJavadenome(Cliente)nopacote
(modelo)...

Resultado:

2.2

Criarcdigodoatributoseosgettersesetters...

3.

Agora criaremos a Classe Java de nome(Conexao)nopacote

(dao)seguindoosmesmopassosdoitem4.2...

Resultado:

3.1

Criarcdigodoconstrutor,mtodoqueserresponsvelpor

criar,abrirefecharaconexocomoBancodeDados...



Agora criaremos a Classe Java de nome (ClienteDAO) no pacote

(dao)seguindoosmesmopassosdoitem4.2

Resultado:

2.

Criar o cdigo dos mtodos
public String inserir(Categoria categoria)
que

permite a insero do nome no BancodeDadoseomtodo


public
Listlistar()
que carrega e retorna a lista de nomes, exibe os
nomescadastrados.

packagedao

importjava.sql.ResultSet
importjava.sql.SQLException
importjava.sql.Statement
importjava.util.ArrayList
importjava.util.List
importmodelo.Cliente

publicclassClienteDao{

publicStringinserir(Clientecliente){
Stringretorno="falha"
Conexaoconn=newConexao()
try{
Statementstmt=(Statement)conn.getConn().createStatement()
stmt.execute("insertintocliente(nome)values('"+cliente.getNome()+"')")
retorno="sucesso"
}catch(Exceptione){
e.printStackTrace()
}finally{
conn.fecharConexao()

}
returnretorno

publicStringalterar(Clientecliente){
Stringretorno="falha"
Conexaoconn=newConexao()
try{
Statementstmt=(Statement)conn.getConn().createStatement()
stmt.execute("updateclientesetnome='"+cliente.getNome()+"'where
id="+cliente.getIdCliente())
retorno="sucesso"
}catch(Exceptione){
e.printStackTrace()
}finally{
conn.fecharConexao()
}
returnretorno

}
publicStringremover(intid){
Stringretorno="falha"
Conexaoconn=newConexao()
try{
Statementstmt=(Statement)conn.getConn().createStatement()
stmt.execute("deletefromclientewhereid="+id)
retorno="sucesso"
}catch(Exceptione){
e.printStackTrace()
}finally{
conn.fecharConexao()
}
returnretorno

publicList<Cliente>listar(){
List<Cliente>clientes=newArrayList<Cliente>()
Conexaoconn=newConexao()
try{
Statementstmt=(Statement)conn.getConn().createStatement()
ResultSetrs=stmt.executeQuery("select*fromcliente")
while(rs.next()){
Clientecliente=newCliente()
cliente.setIdCliente(rs.getInt("id"))

cliente.setNome(rs.getString("nome"))
clientes.add(cliente)
}
}catch(SQLExceptione){
e.printStackTrace()
}finally{
conn.fecharConexao()
}
returnclientes

}
publicList<Cliente>acharCliente(intid){
List<Cliente>clientes=newArrayList<Cliente>()
Conexaoconn=newConexao()
try{
Statementstmt=(Statement)conn.getConn().createStatement()
ResultSetrs=stmt.executeQuery("select*fromclientewhereid="+id)
if(rs.next()){
Clientecliente=newCliente()
cliente.setIdCliente(rs.getInt("id"))
cliente.setNome(rs.getString("nome"))
clientes.add(cliente)
}
else
{
Clientecliente=newCliente()
cliente.setIdCliente(99)
clientes.add(cliente)

}
}catch(SQLExceptione){
e.printStackTrace()
}finally{
conn.fecharConexao()
}
returnclientes

3.

Agora criaremos um Servlet de nome (InserirCliente) no

pacote (controle) seguindo os mesmo passos do item 4.2


lembrandoqueescolheraopo
Servlet...

Resultado:

4.

AgoracriaremosocdigodomtodoPostdentrodoServlet...

VamoscriarnapastaPginasWebapgina.JSPdenome
(InserirCliente)parainserironome...

Resultado:

1.2

Ocdigoaseguirapenasimplementaacriaodoform...


Ainda na pasta Pginas Web, vamos criar a pgina inicial
chamada (index.jsp) da mesma forma que criamos
(InserirCliente.jsp)doitem8.

Resultado:

Continuando com o projeto, faremos alteraes no arquivo


(index.jsp)paraqueelefiquecomoseguintecdigo:

<body>
<h1>ManutenoCadastrodeClientes</h1>

<%
ClienteDaodao=newClienteDao()
List<Cliente>clientes=dao.listar()
%>
<tableborder="2">
<thead>
<tr>
<th>Cdigo</th>
<th>Nome</th>
<th>Operao</th>
</tr>
</thead>
<tbody>
<tr><%
for(inti=0i<clientes.size()i++){

Clientecliente=clientes.get(i)%>
<td>
<%out.print(cliente.getIdCliente())
%>

</td>
<td>
<%out.print(cliente.getNome())%>
</td>
<td>
<ahref="InserirCliente.jsp">
<IMGborder="0"src="imagens/incluir.GIF"alt="Incluir"></a>
<ahref="AlterarCliente.jsp?idCliente=<%out.print(cliente.getIdCliente())
%>">
<IMGborder="0"src="imagens/editar.gif"alt="Alterar"></a>
<ahref="RemoverCliente?idCliente=<%out.print(cliente.getIdCliente())
%>">
<IMGborder="0"src="imagens/exclui.gif"alt="Remover"></a>
</td>
</tr>
<%}
%>
</tbody>
</table>

</body>

Resultado:

ImplementandooRemover...

Vamos alterar novamente a classe (ClienteDAO.java)paraincluiro


mtodoremover...

publicStringremover(intid){
Stringretorno="falha"
Conexaoconn=newConexao()
try{
Statementstmt=(Statement)conn.getConn().createStatement()
stmt.execute("deletefromclientewhereid="+id)
retorno="sucesso"
}catch(Exceptione){
e.printStackTrace()
}finally{
conn.fecharConexao()
}
returnretorno

Dentrodopacote(controle)crieoarquivoServletdenome
(removerCliente.java)damesmamaneiradoitem8.daParteI.

Resultado:

1.3

ImplementeomtododoPostcomoseguintecdigo: