A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Programação para Web Unidade 06 – Java Beans e BDs Prof.: Henrique Santos."— Transcrição da apresentação:

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

2 JavaBeans

3 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

4 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.

5 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.

6 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; } };

7 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();

8 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

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

10 Construindo Beans Formato Objetivo Instancia uma classe Java Exemplo Scriptlet Equivalente

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

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

13 Conexão com Banco de Dados

14 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

15 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.

16 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

17 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

18 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); }

19 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

20 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()

21 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; }

22 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)

23 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


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

Apresentações semelhantes


Anúncios Google