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

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

JSP / Servlets Avançado

Apresentações semelhantes


Apresentação em tema: "JSP / Servlets Avançado"— Transcrição da apresentação:

1 JSP / Servlets Avançado
Andrio Spich Desenvolvedor Java & .NET Sun Certified Web Component Developer for J2EE 1.4

2 JDBC – Conexão a banco de dados
API padrão Java para conexão a banco de dados; Abstrai o acesso a qualquer banco de dados, onde cada banco necessita ter seu acesso implementado num driver próprio; Permite executar qualquer comando SQL que o banco/driver suporte;

3 JDBC Objetos principais:
Connection: classe ligada ao driver que gerencia a comunicação com o banco, como transações, protocolo, etc; Statement: responsável pela execução de SQLs e seu resultado; ResultSet: Conjunto de registros retornados por uma consulta;

4 JDBC - Configurando É utilizado dois modos padrões de acesso:
DriverManager: obtem-se uma conexão passando uma String de conexão, não utiliza pools; Interface DataSource: geralmente implementada pelos containers, configurando este é possivel obter uma conexão utilizando JNDI, sendo que o controle da conexão é feito pelo container, como o caso dos pools;

5 JDBC - Tomcat Geralmente registra-se uma conexão como um recurso que pode ser adquirido via JNDI; O recurso fica mapeado dentro do arquivo de configuração do Tomcat, nas tags <resource>; O tomcat fica responsável pelo gerenciamento e reuso das conexões do banco de dados; Para pegar uma conexão, efetuar um lookup.Ex: InitialContext ctx = new InitialContext(); DataSource ds = (DataSource)ctx.lookup(‘java:comp/env/jdbc/oracle’); Connection conn = ds.getConnection();

6 JDBC - Transações Controladas em uma conexão através do objeto Connection; Um Connection representa uma transação com o banco de dados; Por padrão, a transação é “autoCommit”; Métodos de Connection para gerenciar a transação: setAutoCommit(false): informa que a transação não deve ser automatica, sendo confirmada por um commit commit(): confirma uma transação com o banco; rollback(): desfaz uma transação com o banco;

7 JDBC - Statements Execução de comandos SQL no banco de dados;
Basicamente se dividem em dois tipos,: PreparedStatements: padrão para a execução de SQLs que possuem parâmetros, como SELECTs que retornam um conjunto de dados; UPDATEs, INSERTs e DELETEs que alteram registros no banco de dados ; CallableStatements: padrão para a chamada de StoredProcedures de banco;

8 JDBC - ResultSet Permite navegar sobre dados retornados por uma consulta; Expõe os métodos first(), last(), next() e previous() para a navegação de registros; Expõe métodos get”N”(“campo”) para pegar o valor de uma coluna, onde “N” é o tipo de dado a ser retornado e “campo” é o nome do campo retornado da consulta;

9 JDBC – Padrões de Design
Tentam isolar e abstrair o acesso ao banco de dados, assim como o mapeamento objeto-relacional; Design pattern mais utilizado para a camada de banco de dados: DAO, ou Data Access Objets;

10 Data Access Objet Padrão que abstrai o acesso ao banco de dados, deixando uma camada responsável (DAO) pelo acesso e manipulação de SQLs, deixando a camada inferior, como Beans, JSPs ou Servlets sem conhecimento do banco de dados. Neste padrão, a camada inferior, por exemplo, não pode conter qualquer instrução SQL ou acesso a algum objeto JDBC, como um ResultSet;

11 Data Access Object Para a implementação deste, geralmente emprega-se outros dois padrões como o “Value object” e o Factory, sendo o primeiro a representação do registro e o “Factory” o método/classe responsável pela criação dos “Value Objects”;

12 Data Access Object - VO Para a representação dos Value Objects(VOs), o padrão é fazer uma mapeamento relacional objeto direto, mapeando cada atributo do value object para um campo de uma tabela; O Value Object é implementado como um JavaBean, sendo ele transportado até a camada de apresentação onde, por exemplo, o JSP exibe seus dados;

13 Data Acess Object - Factory
Abstrai a manipulação dos comandos básicos SQL: select, insert, update e delete; Geralmente implementado dentro do VO como métodos estáticos; Responsável por mapear para cada registro, um VO e retorná-los para a camada de apresentação;

14 Data Access Object


Carregar ppt "JSP / Servlets Avançado"

Apresentações semelhantes


Anúncios Google