Acessando banco de dados com JAVA
Linguagem independente de plataforma; ◦ “Write once, run anywhere” ◦ JVM Java Virtual Machine Mecanismo que permite executar código em Java em qualquer plataforma Portabilidade: ◦ Desktop Java 2 Standard Edition (J2SE) ◦ Web Java 2 Enterprise Edition (J2EE) ◦ Mobile Java 2 Micro Edition (J2ME) Java Development Kit (JDK)
Conjunto de dados relacionados a um assunto ou objetivo específico. ◦ Exemplos: Cadastro de clientes Agenda de contatos ◦ Em cada um desses exemplos, encontramos conjuntos de dados que estarão relacionados entre si.
Banco de dados - exemplo Nome Cristina DDD 13 Telefone Código 1 Diego Oswaldo Graciete Um dado: nome Conjunto de dados de Cristina Registro Conjunto de registros: Uma agenda de contatos Tabela
Apresentação, Negócio e Persistência; Camada de persistência: ◦ Responsável por acessar e manipular bases de dados externas ao JAVA. JDBC API (Application Program Interface) padrão para o acesso a banco de dados em Java, por meios de comandos SQL.
JDBC Classes Driver for JDBC Oracle SQL Server MySQL Access ODBC Java Application DriverManager Connection Statement CallableStatement PreparedStatement ResultSet
Formas mais utilizadas a conexão entre o Java e um Banco de dados são: ◦ Ponte JDBC/ODBC ◦ Acesso direto ao Java (100% Java) Outras formas ◦ API Nativa Métodos implementados em Softwares C e C++ ◦ JDBC-Rede API de rede que traduz as requisições do Banco de dados para o Driver.
Como exemplo, utilizaremos a conexão entre o Banco de Dados MySQL e o Java, em acesso direto, utilizando a IDE Netbeans. Passos: ◦ Criar um novo projeto “New Project” ◦ Configurar o Driver do MySQL no projeto ◦ Efetuar a programação necessária para a interação: Carregar o Driver na aplicação Obter a conexão com o banco de dados Realizar demais procedimentos para interação com o banco de dados.
Baixar o Driver MySql no link jdbc.html jdbc.html Carregar o Driver na aplicação ◦ Project Click no projeto. Seleciona Biblioteca click c/ direito adicionar biblioteca. ◦ Selecionar o pacote do driver (.jar) “mysql- connector-java bin.jar” e clicar em OPEN, e em seguida em OK.
Class.forName(“classe_da_interface”); Exemplo: ◦ Class.forName(“com.mysql.jdbc.Driver”);
URL JDBC: ◦ Jdbc: : Subprotocolo: identificação do driver a ser instanciado Dsn: subprotocolo utilizado para localizar o servidor e a base de dados Classe DriverManager; ◦ Manipulação de Drivers carregados na aplicação ◦ Retorno de Connection.
Connection conn = DriverManager.getConnection(url) ou DriverManager.getConnection(url, usuario, senha) ◦ Onde: URL é o caminho especificado pelo fabricante do banco de dados, para definir o seu local de instalação; Usuario é o nome de usuário para acesso ao BD; Senha é a senha de acesso ao BD.
Statement: Oferece recursos para a passagem de instruções SQL ao Banco de Dados ResultSet: Cursor para os dados recebidos. Criar Statement; ◦ Statement stmt = conn.createStatement(); Armazenar as informações de execução de um Statement em um ResultSet: ◦ ResultSet rs = stmt.executeQuery(“SELECT * FROM TB_AGENDA”)
Utilização de um ResultSet: ◦ while (rs.next()) { System.out.print(“CÓDIGO:”) System.out.println(rs.getInt(1)); System.out.print(“NOME:”); System.out.println(rs.getString(“Nome”)); }
Pode-se alterar/excluir/inserir dados via JDBC no banco de dados; Pode-se também criar estruturas, operação que não é recomendada via JDBC; Utilização de PreparedStatement e CallableStatement
Fundamentos de JDBC -