Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos.

Slides:



Advertisements
Apresentações semelhantes
JDBC Java Dababase Connectivity Marco Antonio, Arquiteto de Software – TJDF Atualizado em Novembro/2008.
Advertisements

Prof. Alessandro J. de Souza
Java Conexão com Banco de Dados
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS ACESSO A BANCO DE DADOS COM O JDBC Prof. Thiago Pereira Rique
28.5 Instruções para instalar o MySQL e o MySQL Conector/J
Linguagens de Programação Orientadas a Objetos
Material III-Bimestre Wagner Santos C. de Jesus
Prof.: Carlos Hairon R. Gonçalves
Introdução a JDBC Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
EL e JSTL Prof. Danton Cavalcanti Franco Junior
B ANCO DE D ADOS E JDBC Profa. Msc. Cintia Carvalho Oliveira Mestre em Ciência da Computação – UFU Bacharel em Ciência da Computação - UFJF 1.
Java & Bancos de Dados Universidade Salgado de Oliveira Goiânia
Hibernate com JPA Prática
Java :: Persistência de Dados
Acesso a Base de Dados JDBC Trabalho Realizado por:
Conexão com Bancos de Dados Carlos Bazilio Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense.
Capítulo 2 Java Servlets.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Integração com Banco de Dados
Aplicativos Comerciais para Internet Camada View do MVC Apresentando os resultados de uma Consulta.
Programação Orientada a objetos II
Anexo A. JDBC  Conjunto de interfaces e classes java que faz envio de consultas para um banco de dados.  Objetos(tipos)  Conexão (Driver e Connection)
JSP / Servlets Avançado
Chamada Remota de Procedimentos
P ROGRAMAÇÃO Prof.: Bruno Rafael de Oliveira Rodrigues.
Linguagem de Programação JAVA
Aula 2 – Primeiros Passos com a arquitetura Web Servidor
JDBC Java Database Connectivity. JDBC Especificação para uso de base de dados em aplicações e applets JAVA; API para uso de drivers JDBC; Compatível com.
The Factory Esclarecendo a arquitetura utilizada no projeto Piloto Autor: Wabber Filho.
Pilhas Profa. Nádia Félix.
Desnvolvimento de Projetos e Aplicações Web Ceça Moraes – Ceça.
Curso Programação – JAVA Centro de Formação São Domingos
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
Wagner Santos C. de Jesus
Aula 2 – Primeiros Passos com a arquitetura Web Servidor Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas.
Configuração do Ambiente de programação
A Linguagem PHP Instituto Vianna Júnior Desenvolvimento para Web Prof. Lúcia Helena de Magalhães 2008.
Entity Beans Marco Antonio Arquiteto de Software Dezembro/2007.
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Capítulo 6 Exceções.
Curso de Linguagem Java
CURSO JAVA BÁSICO Módulo JDBC – slide 1 MóduloJDBC.
Java Conexão com Baco de dados Saulo Bazzi Oberderfer Fonte:
Unidade 5 – Integrando JSP e Servlets Prof.: Henrique Santos
JDBC Java Database Connectivity docs/guide/jdbc/getstart/introTOC.doc.html.
Programação Distribuída em Java Aula Na aula passada vimos: TomCat –Instalação e configuração –Criação de contexto JSP... uma introdução –Expressões.
Programação Distribuída em Java Aula 09 - JSP. Na aula passada vimos: Aspectos gerais de segurança em Java policytool Instalação de políticas de segurança.
Feapa Prof Osiel Marlon Disciplina: Engenharia de Software 2009 Curso: Sistemas de Informação.
J AVA D ATABASE C ONNECTIVITY JDBC. JDBC O Java Database Connectivity (JDBC) API é o padrão da indústria para que aplicações Java acessem bancos de dados.
Leo Silva Leonardo Murta Luiz Viana Persistência em Java.
USANDO JAVABEANS EM JSP. Usando JavaBeans em JSP  O uso de JavaBeans em uma página JSP envolve as actions, e.
Java Acesso a Banco de Dados Prof. Marcos André Pisching, M.Sc.
Acesso a Banco de Dados com JDBC e DAO
Desenvolvimento WEB II Aula 3 – Conexão com o Banco de Dados
Acessando banco de dados com JAVA.  Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM  Java Virtual Machine  Mecanismo que permite.
PSW1 Prof. Rafael. Persistência Atividade que permite que o estado de um objeto exista mesmo após a extinção do processo computacional que o criou. Em.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha.
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Trabalho Prático de Programação Orientada a Objetos em Java Programação Orientada a Objetos Ludimila Monjardim Casagrande 2011.
ALUNO: RONI FABIO BANASZEWSKI Model-View-Controller.
JavaServer Faces – JSF Fernando Freitas Costa Bacharel em Sistemas de Informação Especialista em Gestão e Docência Universitária blog.fimes.edu.br/fernando.
Persistência de dados e padrão DAO
Banco de Dados Relacionais. Tabelas DB Relacionais são baseados em tabelas As tabelas armazenam registros Cada registro ocupa uma linha da tabela Registros.
Prof.: Jean Carlo Mendes
Persistência de dados e padrão DAO Padrões de Projeto Orientado a Objetos Profa. Danielle Martin/Mauricio Universidade de Mogi das Cruzes.
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Acesso a Banco de dados com JDBC
Transcrição da apresentação:

Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos

JavaBeans

O que é um JavaBean? Uma classe java comum usada para armazenar dados que segue uma padronização Tem que possuir um construtor sem argumentos Não deve possuir variáveis de instância públicas Utilizar métodos de acesso ao invés de permitir acesso direto as variáveis de instância As propriedades normalmente devem refletir campos da Tabela no BD ou ser derivado de dados do BD Valores persistentes devem ser acessados através de métodos chamados getXxx e setXxx Se a classe tiver um método chamado getTitulo que retorna uma String, dizemos que que a classe possui uma propriedade do tipo string chamada titulo Propriedades Booleanas usam isXxx ao invés de getXxx

Porque encapsular campos Padronização Pode-se inserir restrições ou realizar verificações nos valores Pode-se mudar a representação interna sem afetar a interface Pode-se chamar outros métodos ou classes e realizar outras operações antes ou após a atualização do valor. Também conhecido como efeito cascata.

Notas sobre Beans Beans são instalados no diretório padrão para classes Java (o mesmo de Servlets) É boa prática de programação que Beans (e classes auxiliares) SEMPRE estejam em pacotes! De preferência em um pacote diferente do pacote dos Servlets Lembre-se que a criação de Beans e Servlets no diretório padrão acarreta em penalização nos trabalhos práticos.

Exemplo de JavaBean package beansgrupo; public class Usuario { private String Login; public Usuario(){ } public String getLogin() { return Login; } public void setLogin(String Login) { this.Login = Login; } };

Usando Beans em Servlets Como Beans e Servlets são classes Java comuns, basta importar o pacote do Bean para poder usá-lo no Servlet Exemplo: import beansgrupo.Usuario; public class LoginServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Usuario U = new Usuario();

Pode-se usar Beans normalmente como em qualquer classe java. Lembre-se de usar o nome completo junto ao pacote ao acessar um Bean em JSP Ou então de importar o pacote no começo do JSP Usando Beans em JSP

Tags JSP para Beans Existem Tags especiais em JSP para lidar com Beans. Todas essa tags podem ser substituídas por scriptlets comuns.

Construindo Beans Formato Objetivo Instancia uma classe Java Exemplo Scriptlet Equivalente

Acessando propriedades Formato Objetivo Permite acesso as propriedades dos beans, ou seja, chamadas ao métodos getXxx Exemplo Scriptlet Equivalente

Setando propriedades Formato Objetivo Permite a atribuição das propriedades do bean, ou seja, chamadas a métodos setXxx Exemplo Scriptlet Equivalente

Conexão com Banco de Dados

JDBC Java DataBase Connectivity (Conectividade a Bancos de Dados Java) Biblioteca padrão que fornece acesso a bancos de dados por meio de Java Desenvolvedores podem acessar bancos de dados não importando quem é o distribuidor Distribuidores fornecem a implementação para interfaces abstratas definidas na API Fornece o mesmo conjunto de funcionalidades para o desenvolvedor

Instalação do BD Deve-se primeiramente instalar um SGBD na máquina servidora. Uma vez instalado, pegar o driver JDBC mais recente do SGBD escolhido (a própria página do SGBD disponibiliza esses drivers) Copiar o jar do driver para o diretório /lib/ do Tomcat Apache Atenção: Não instalar o jar do driver para outro lugar, isso pode causar problemas.

Classes importantes java.sql.Connection: Representa uma conexão com um banco de dados java.sql.DriverManager: Gerencia drivers JDBC usados pela aplicação javax.sql.DataSource: Abrange os detalhes de como obter uma conexão para o banco de dados java.sql.Statement: Fornece métodos para o desenvolvedor executar instruções SQL java.sql.ResultSet: Representa o resultado de uma instrução SQL de Pesquisa

java.sql.DriverManager Permite que um desenvolvedor recupere um objeto Connection que pode ser usado para executar instruções em bancos de dados. O Driver JDBC deve estar registrado com o DriverManager Usar o método getConnection em DriverManager

Exemplo de Conexão MySQL package persistencia; import java.sql.*; class BaseDados{ private Connection Conexao = null; private BaseDados(){ String jdbcURL ="jdbc:mysql://localhost:3306/baseteste"; String user = "aluno"; String password = "unipac"; Class.forName("com.mysql.jdbc.Driver"); Conexao = DriverManager.getConnection(jdbcURL, user, password); }

Executando Queries Objetos da classe java.sql.Connection representam conexões atuais para o banco de dados Uma vez de posse deste objeto, pode-se criar um objeto da classe Statement, que é usado para executar consultas SQL ExecuteQuery: usada para comandos SELECT, retornando o resultado de operações como um objeto ResultSet ExecuteUpdate: usada para comandos INSERT, UPDATE ou DELETE, retornando o número de linhas afetadas como um tipo int

ResultSets Resultados de uma consulta no banco de dados Um objeto ResultSet pode ser visualizado como uma tabela A informação é recuperada uma coluna por vez O objeto ResultSet mantém a linha corrente Para percorrer as linhas da tabela em ResultSet, usa-se o método next()

Exemplo de Login public static Usuario login(String Login, String Senha) { Usuario U = null; try { Statement St = Conexao.createStatement(); ResultSet Rs = Conexao.executeQuery( "SELECT CodUsuario FROM usuario WHERE login LIKE '"+ Login+"' AND senha LIKE '"+Senha+"' "); if(Rs.next()){ U = new Usuario(); U.setLogin(Login); U.setCodigo( Rs.getInt("CodUsuario") ); } }catch (Exception e) { System.out.println(e); } return U; }

Padronização DAO Uma padronização muito utilizada atualmente é deixar os JavaBeans, somente com as propriedades Deve-se então colocar todas consultas SQL em objetos separados chamados DAO (Database Access Object)

Exemplo DAO package persistencia; import java.sql.*; import beansgrupo.Usuario; class UsuarioDAO { public static Usuario getUsuario(int CodUsuario){ // código SQL e JDBC para recuperar Usuário } public static void alterarUsuario(Usuario U){ //código SQL e JDBC para alterar Usuário } //Outros métodos de acesso a banco para Usuário