Professional Documents
Culture Documents
Java e BD
Mecanismos de Persistncia
O estado de um objeto (seus atributos) devem ser salvos para uso futuro Em aplicaes web o estado do objeto pode ser mantido no servidor de aplicaes (aplicao/sesso)... mas se perde se ele for reiniciado preciso algum mecanismo de persistncia(!):
Mecanismos de Persistncia
Sistema de arquivos
Mecanismos de Persistncia
BD Relacional (via JDBC)
Muito difundido... muito bem aceito no mercado. Interoperabilidade com inmeras ferramentas No se enquadra bem a objetos. Ferramentas de mapeamento objeto-relacional podem ser utilizadas (Hibernate / OJB). Lida com a presena de strings de consulta (SQL) no cdigo.
Alceu Lus de Andrade Melo (2012)
Mecanismos de Persistncia
BD Orientado a Objetos
potencialmente a soluo ideal. Armazena os objetos diretamente no BD. No necessita de ferramentas de mapeamento. Na prtica algumas questes interessantes:
Cdigo pode ser focado no BD ou no Objeto Quando usar cdigo focado no BD:
Ao projetar uma nova aplicao O BD reflete o modelo de objetos Ter uma escolha aberta para o projeto e a plataforma de banco de dados utilizada
A ponte JDBC
1 2
JDBC
Oferece uma maneira padronizada de acessar BDs relacionais API est em java.sql O cdigo escrito deve funcionar com qualquer BD relacional Mas que tenha um driver ODBC (quando utilizar a ponte JDBC:ODBC) Ou que possua um driver Java nativo (JDBC nativo)
Alceu Lus de Andrade Melo (2012)
JDBC
Utilizando o BD
Carregar o driver Conectar ao BD Criar uma Statement (instruo) Executar a Statement Tratar o ResultSet (resultado da query)
JDBC
Carregar o Driver
Class.forName("oracle.jdbc.OracleDriver");
JDBC
Criar a Conexo
Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@cdi2k3bd:1521:oracdi", "scott", "tiger" );
JDBC
Cria e Executar a Statement (instruo)
Statement stm = con.createStatement();
Uma Statement utilizada para executar chamadas de SQL no BD Os mtodos comuns para execuo so:
ResultSet res = stm.executeQuery(String query); int nRows = stm.executeUpdate(String update);
JDBC
Utilizamos getString para o campo DESCRICAO mas existem mtodos que retornam outros tipos consulte a API
Alceu Lus de Andrade Melo (2012)
JDBC
ResultSet Metadata (metadados)
Metadados: dados sobre os dados Os metadados do ResultSet incluem nmeros de colunas e nome de cada coluna Pode-se utilizar os metadados para escrever cdigos mais inteligentes / simplificados Por exemplo: visualizadores de tabelas
JDBC
Design
Pode ser inserido em qualquer lugar no cdigo (inclusive no JSP) O melhor que todo o cdigo de acesso ao BD esteja em classes separadas: padro DAO
Referncias
Website do curso CC292 Web Application Programming, Department of Computing and Electronic Systems, University of Essex, Colchester, United Kingdom. http://courses.essex.ac.uk/CC/cc292/. Acessado em 20/10/2008. Website Java SE Technologies Database, Sun Developer Network (SDN), http://java.sun.com/javase/technologies/database/index.jsp . Acessado em 23/10/2008. Menon, R. M. Expert Oracle JDBC Programming. New York, Apress, 2005.