Persistência Java para Web com MySQL



Documentos relacionados
Java - Conexão ao Banco de Dados usando JDBC

Autenticação e Autorização

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

Acesso a banco de dados

Programação Orientada a Objetos II

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC

Driver Mysql para Banco de Dados. Conexão com um Banco de Dados

Unidade 9: Middleware JDBC para Criação de Beans

Manipulação de Banco de Dados com Java 1. Objetivos

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Especialização em web com interfaces ricas

Padrões de Projeto e Persistência com DAO

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Java JDBC - I. Ex. 2: para o SQLServer da Microsoft, o driver JDBC pode ser obtido em

Leonardo Gresta Paulino Murta

Prática em Laboratório N.02 Criando um serviço Web via NetBeans

Drive MySql de conexão para Eclipse

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

!" # # # $ %!" " & ' ( 2

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

Persistência de Classes em Tabelas de Banco de Dados

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO.

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

Curso: Desenvolvimento Java

Programação Orientada a Objetos JDBC Java Database Connectivity

Programação Orientada a Objetos II

Java na WEB Banco de Dados

Aplicativos Web com Orientação a Objetos

Faculdades Integradas Santa Cruz. Tutorial de Java MVC WEB Criando uma tela de Login com Banco de Dados

Exercícios de fixação: Listas

JDBC. Prof. Márcio Bueno

Aula 1 Acesso a Banco de Dados

J550 Integração com Bancos de Dados

Integrando Java com Banco de Dados

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC.

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Banco de Dados. Banco de Dados. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

Desenvolvimento Web TCC Turma A-1

JAVA JDBC COMO FUNCIONA. Programação Orientada a Objetos Flávio de Oliveira Silva 315. Programação Orientada a Objetos Flávio de Oliveira Silva 316

Código-Fonte da Prática 02

Gerador de código JSP baseado em projeto de banco de dados MySQL

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

Java e Conexão com Banco de Dados

Mini-Tutorial. Como criar relatórios Java para Web com JasperReports e ireport por Roberto J. Furutani 20/07/2005

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Executando comandos do Sistema Operacional em uma aplicação WEB Java

Java JDBC Aplicação Java com Acesso a um SGBD. Ricardo Terra (rterrabh [at] gmail.com) Java JDBC Maio, 2010

Programação com Acesso a Banco de Dados

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

JDBC. Java DataBase Connectivity

JavaServer Faces JSF

Tutorial Jogo da Velha WEB

Orientação a Objetos

JDBC Java Database Connectivity

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

Exibir relatórios gerados pelo Jasper Report em Flex

Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte I

Criar uma aplicação JPA2 com EclipseLink e H2

JPA: Persistência padronizada em Java

Java Beans e Servlets

Java com Banco de Dados Posgree

Modulo 8 - Padrão DAO (Dta Access Object) Prof. Sheila Cáceres

TUTORIAL DE INTRODUÇÃO AO CEWOLF

JSP e Servlet Princípio de MVC

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA

Exercícios de Revisão Java Básico

Implementar um exemplo de relacionamento entre classes um para muitos (1:N) e um para um (1:1). Sistema para uma Promotora de Evento Agenda Anual

Introdução Conceitos Iniciais Metodologia Web Services Considerações Finais. Introdução. Conceitos Iniciais Metodologia

Java para WEB. Servlets

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

UNIDADE II Sistemas Cadastrais com acesso a Banco de Dados

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Desenvolvimento de Sistemas de Informação

Programação em Rede JDBC

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M

HIBERNATE Criando um projeto em Java + Hibernate do zero

Prática Sobre Servlets e JSP

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

JPA Java Persistence API. Prof. Ramon Chiara

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

Projeto webservicejax

Estrutura do Projeto - Trabalhando com Banco de Dados

Consulta de endereço através do Cep

Acessando dados em Java com JDBC

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

Introdução à Tecnologia Java 02/2012. Java Aula 05 12/09/2012. Celso Olivete Júnior.

Prof. Roberto Desenvolvimento Web Avançado

Transcrição:

Persistência Java para Web com MySQL 1. Criar o modelo no DBDesigner 2. Criar o esquema e as tabelas no MySQL 3. Criar um projeto Java simples, com o nome Empresa,no NetBeans 4. Adicionar o driver de conexão MySQL: a. Descompactar o arquivo com o driver em algum diretório b. Clicar com o botão direito sobre o diretório biblioteca e adicionar jar c. Localizar o arquivo contendo o driver e adicioná-lo 5. Criar três pacotes: modelo, persistencia e teste 6. No pacote teste, criar a classe TestaConexao: package teste; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class TestaConexao { public static void main (String args[]) throws SQLException{ Connection conexao = null; String url = "jdbc:mysql:// servidor :3306/empresa"; String usuario = "professor"; String senha = "professor"; try{ Class.forName("org.gjt.mm.mysql.Driver"); conexao = DriverManager.getConnection(url, usuario, senha); System.out.println("Conexão efetuada com sucesso!!!"); catch(classnotfoundexception cnfe){ System.out.println("Erro ao carregar o driver"); cnfe.printstacktrace(); 7. Simular e testar erros na classe anterior 8. Criar uma classe no pacote persistência que contenha o método estático: getconexao(): package persistencia; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; public class GerenteConexao { //metodo estático gerador de conexões public static Connection getconexao(){ Connection conexao = null; String url = "jdbc:mysql://localhost:3306/empresa"; String usuario = "root"; String senha = "root";

try{ Class.forName("org.gjt.mm.mysql.Driver"); conexao = DriverManager.getConnection(url, usuario, senha); System.out.println("Conexão efetuada com sucesso!!!"); catch(classnotfoundexception cnfe){ System.out.println("Erro ao carregar o driver"); cnfe.printstacktrace(); catch(sqlexception sqle){ System.out.println("Não foi possível conectar com o BD"); return conexao; 9. Testar a classe 10. Criar uma classe TestaEmpregado contendo o método main() para testar a conexão com o banco de dados: package teste; import java.sql.preparedstatement; import java.sql.sqlexception; import persistencia.gerenteconexao; public class TestaEmpregado { public static void main(string a[]){ try{ String sql = "INSERT INTO EMPREGADO(CODIGO, NOME, IDADE) VALUES(1,'Maria',25)"; pst.executeupdate(); System.out.println("Dados inseridos com sucesso!!!"); catch(sqlexception sqle){ System.out.println("Não foi possível inserir os dados!!"); 11. Alterar a classe: String sql = "INSERT INTO EMPREGADO(CODIGO, NOME, IDADE) VALUES(?,?,?)"; pst.setint(1,2); pst.setstring(2,"josé"); pst.setint(3,28); pst.executeupdate(); 12. Criar o classe EmpregadoDAO e o método grava: import java.sql.preparedstatement;

import java.sql.sqlexception; public class EmpregadoDAO { public static int grava(int codigo, String nome, int idade) { String sql = "INSERT INTO EMPREGADO(CODIGO, NOME, IDADE) VALUES(?,?,?)"; pst.setint(1, codigo); pst.setstring(2, nome); pst.setint(3, idade); System.out.println("Dados inseridos com sucesso!!!"); catch (SQLException sqle) { System.out.println("Não foi possível inserir os dados!!"); 13. Imagine criar um método grava para uma tabela com 100 campos! Então chegou a hora de criarmos uma classe bean no pacote modelo para que possamos instanciar objetos dessa classe. package modelo; public class Empregado { private int codigo; private String nome; private int idade; public int getcodigo() { return codigo; public void setcodigo(int codigo) { this.codigo = codigo; public String getnome() { return nome; public void setnome(string nome) { this.nome = nome; public int getidade() { return idade; public void setidade(int idade) { this.idade = idade;

public String tostring(){ return "Código = "+getcodigo()+ "\nnome = "+getnome()+ "\nidade = "+getidade(); 14. Agora vamos atualizar o nosso método grava, passando como parâmetro um objeto e não mais cada um dos campos: public static int grava(empregado empregado) { String sql = "INSERT INTO EMPREGADO(CODIGO, NOME, IDADE) VALUES(?,?,?)"; pst.setint(1, empregado.getcodigo()); pst.setstring(2, empregado.getnome()); pst.setint(3, empregado.getidade()); System.out.println("Dados inseridos com sucesso!!!"); catch (SQLException sqle) { System.out.println("Não foi possível inserir os dados!!"); 15. Vamos testar o nosso método grava, para isso vamos criar uma classe de teste, chamada TestaEmpregadoDAO: TestaEmpregadoDAO: public class TestaEmpregadoDAO { public static void main(string args[]){ Empregado empregado = new Empregado(); empregado.setcodigo(3); empregado.setnome("luiz"); empregado.setidade(45); EmpregadoDAO.grava(empregado); 16. Agora vamos criar o método altera: public static int altera(empregado empregado) { String sql = "UPDATE EMPREGADO SET NOME =?, IDADE =? WHERE CODIGO =?"; pst.setstring(1, empregado.getnome()); pst.setint(2, empregado.getidade()); pst.setint(3, empregado.getcodigo()); System.out.println("Dados atualizados com sucesso!!!"); catch (SQLException sqle) {

System.out.println("Não foi possível atualizar os dados!!"); 17. Vamos criar o método exclui: public static int exclui(int codigo) { String sql = "DELETE FROM EMPREGADO WHERE CODIGO =?"; pst.setint(1, codigo); System.out.println("Dados excluído com sucesso!!!"); catch (SQLException sqle) { System.out.println("Não foi possível excluir os dados!!"); 18. Criar um método para montar o objeto: public static Empregado le(int codigo) { ResultSet rs = null; Empregado empregado = null; String sql = "SELECT * FROM EMPREGADO WHERE CODIGO =?"; pst.setint(1, codigo); rs = pst.executequery(); if (rs.next()){ empregado = new Empregado(); empregado.setcodigo(rs.getint("codigo")); empregado.setnome(rs.getstring("nome")); empregado.setidade(rs.getint("idade")); System.out.println("Dados excluído com sucesso!!!"); catch (SQLException sqle) { System.out.println("Não foi possível excluir os dados!!"); return empregado; 19. Para testar o método Le(), vamos criar o método tostring na classe Empregado; public String tostring(){ return "código = "+getcodigo()+ "\nnome = "+getnome()+ "\nidade = "+getidade(); 20. Vamos criar outro método para ler todos os empregados do banco de dados: public static List<Empregado> letodos() {

List <Empregado> empregados = new ArrayList(); Statement st = null; ResultSet rs = null; Empregado empregado = null; st = con.createstatement(); rs = st.executequery("select * FROM EMPREGADO;"); while (rs.next()){ empregado = new Empregado(); empregado.setcodigo(rs.getint("codigo")); empregado.setnome(rs.getstring("nome")); empregado.setidade(rs.getint("idade")); empregados.add(empregado); System.out.println("Dados lidos com sucesso!!!"); catch (SQLException sqle) { System.out.println("Não foi possível ler os dados!!"); return empregados; Parte II Desenvolvimento Web 21. Vamos criar um formulário para inserir os campos: <div> <form name="form1" action="controle" > Matrícula:<br> <input type="text" name="matricula"><br><br> Nome:<br> <input type="text" name="nome"><br><br> Idade:<br> <input type="text" name="idade"><br><br> <input type="submit" value="incluir"> </form> </div> 22. Clicar no botão submit e ver o resultado 23. Vamos criar o Servlet Controle: a. Criar um pacote chamado servlet em Pacotes de código fonte b. Criar um servlet com o nome Controle dentro do pacote servet criado 24. Clicar novamente no botão submit e ver o resultado novamente 25. Apagar os comentários do método: protected void processrequest 26. Apagar todo o conteúdo do método: protected void processrequest 27. Agora vamos adicionar o.jar da aplicação que contém as informações necessárias ao nosso projeto web: a. Primeiro vamos criar o.jar, clicando com o botão direito sobre a aplicação e escolhendo a opção build ou construir se estiver em português b. Depois procure o caminho da aplicação e adicione o.jar que se encontra dentro do diretório dist 28. Receber os dados dentro do método processrequest: protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException {

Empregado empregado = new Empregado(); PrintWriter out = response.getwriter(); empregado.setcodigo(integer.parseint(request.getparameter("matricula"))); empregado.setnome(request.getparameter("nome")); empregado.setidade(integer.parseint(request.getparameter("idade"))); out.println(empregado); finally { out.close(); 29. Para gravar, altere o servlet: protected void processrequest(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { Empregado empregado = new Empregado(); PrintWriter out = response.getwriter(); empregado.setcodigo(integer.parseint(request.getparameter("matricula"))); empregado.setnome(request.getparameter("nome")); empregado.setidade(integer.parseint(request.getparameter("idade"))); EmpregadoDAO.grava(empregado); finally { out.close(); 30. Para verificar qual a ação foi executada, use o mesmo name para os botões e um value para cada botão. <input type="submit" value="grava" name="acao"> <input type="submit" value="exclui" name="acao"> 31. Agora altere o servlet para verificar qual a ação e realizá-la: empregado.setcodigo(integer.parseint(request.getparameter("matricula"))); empregado.setnome(request.getparameter("nome")); empregado.setidade(integer.parseint(request.getparameter("idade"))); String acao = request.getparameter("acao"); if (acao.equals("grava")){ EmpregadoDAO.grava(empregado); else if(acao.equals("exclui")){ EmpregadoDAO.exclui(empregado.getCodigo()); out.print(empregado); finally { out.close();