(UFF) JDBC (III) TEPIS II

Tamanho: px
Começar a partir da página:

Download "(UFF) JDBC (III) TEPIS II"

Transcrição

1 Aula 22: JDBC (III) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JDBC (III) TEPIS II 1 / 40

2 Aula Passada Consultas e Atualizações. Manipulação de Resultados. Mapeamento de tipos de dados. ResultSets bidirecionais e auto-atualizáveis. Erros e warnings. Diego Passos (UFF) JDBC (III) TEPIS II 2 / 40

3 Nesta Aula Prepared Statements. Atualizações em lotes. Chaves auto-geradas. BLOBS e CLOBS. Metadados. Transações. Stored Procedures. Escape Sequences. Diego Passos (UFF) JDBC (III) TEPIS II 3 / 40

4 JDBC: Prepared Statements Além dos objetos do tipo Statement, há também os do tipo PreparedStatement. Em última análise, ambos fazem a mesma coisa: executam comandos SQL. No entanto, o PreparedStatement permite que o desenvolvedor pré-compile o SQL. Opção interessante quando o mesmo tipo de comando deve ser executado múltiplas vezes. Permite mudar apenas os parâmetros. Melhora o desempenho, já que o processamento de strings contribui para o overhead do BD. Em certos casos, simplifica o código, já que não é preciso montar strings complexas. De outra forma, o PreparedStatement funciona como um template de comando SQL. Diego Passos (UFF) JDBC (III) TEPIS II 4 / 40

5 JDBC: Prepared Statements (II) A criação de um PreparedStatement é análoga à de um objeto Statement. É feita a partir do objeto Connection. PreparedStatement psmt = con.preparestatement("insert INTO EMPLOYEES (NAME, PHONE) VALUES (?,?)"); Neste exemplo, queremos inserir uma nova entrada na tabela EMPLOYEES. Configuramos os valores para as colunas NAME e PHONE. Mas não estamos, de fato, especificando os valores. Ao invés disso, utilizamos duas vezes o caracter?. Diego Passos (UFF) JDBC (III) TEPIS II 5 / 40

6 JDBC: Prepared Statements (III) Para efetivamente executar um PreparedStatement, precisamos substituir as interrogações por valores reais. Isso é feito através dos métodos setxxx(). Novamente, uma família de métodos para os vários tipos de dados. pstmt.clearparameters(); pstmt.setstring(1, "Jimmy Adelphi"); pstmt.setstring(2, " "); pstmt.executeupdate(); Uma boa prática é apagar valores de execuções anteriores com o método clearparameters(). Nos métodos setxxx(), o primeiro parâmetro indica qual interrogação substituir. Quando todos os parâmetros foram configurados, executamos o comando efetivamente com o método executeupdate(). Diego Passos (UFF) JDBC (III) TEPIS II 6 / 40

7 JDBC: Prepared Statements (IV) Além dos métodos para tipos específicos, há ainda o setobject(). Este método recebe o índice de um parâmetro a ser substituído e um objeto qualquer em Java. O método tenta, então, realizar um mapeamento entre o objeto Java e um tipo compatível SQL. O método tem também versões opcionais com mais parâmetros que permitem ao desenvolvedor especificar como fazer a conversão. Diego Passos (UFF) JDBC (III) TEPIS II 7 / 40

8 JDBC: Prepared Statements (V) Por fim, é possível especificar uma coluna a ser inserida como NULL. Há duas maneiras: Utilizar o comando setnull(). Utilizar o comando setobject() passando o valor null. Note que, em ambos os casos, é necessário especificar o tipo SQL correspondente ao NULL. Integer i = new Integer(32); pstmt.setobject(1, i, Types.INTEGER); pstmt.setobject(2, null, Types.VARCHAR); // Ou pstmt.setnull(2, Types.VARCHAR); Diego Passos (UFF) JDBC (III) TEPIS II 8 / 40

9 JDBC: Atualizações em Lotes Na especificação original do JDBC, a atualização de grandes volumes de dados em uma base não era muito eficiente. Isso porque, para cada atualização, era necessário executar um comando SQL isolado. Mesmo no caso de um PreparedStatement. Para mitigar este problema, foi criado o método addbatch(). Cadastra um comando SQL para ser executado em lotes. Podemos cadastrar vários comandos. Depois de cadastrar os comandos, utilizamos o método executebatch() para executá-los de uma só vez. con.setautocommit(false); Statement stmt = con.createstatement(); stmt.addbatch("insert INTO CUSTOMERS VALUES (1, J Smith, )"); stmt.addbatch("insert INTO CUSTOMERS VALUES (2, A Smith, )"); stmt.addbatch("insert INTO CUSTOMERS VALUES (3, C Smith, )"); stmt.addbatch("insert INTO CUSTOMERS VALUES (4, K Smith, )"); int[] upcounts = stmt.executebatch(); con.commit(); Diego Passos (UFF) JDBC (III) TEPIS II 9 / 40

10 JDBC: Atualizações em Lotes (II) Alguns detalhes sobre o exemplo de código anterior: Na primeira linha, executamos o método setautocommit(false). Como isso, estamos desabilitando o commit automático. Se houver algum erro no meio das inserções, podemos dar um rollback. Visto mais adiante no curso. Os comandos cadastrados com addbatch() são executados na mesma ordem do cadastramento. O método executebatch() retorna um vetor com o número de linhas afetadas por cada comando cadastrado. Embora não seja mostrado no exemplo, é possível remover (todos) os comandos de um batch com o método clearbatch(). Diego Passos (UFF) JDBC (III) TEPIS II 10 / 40

11 JDBC: Atualizações em Lotes (III) Note que só é possível executar comandos SQL que retornam um contador de atualização. Em outras palavras, comandos que fazem atualização. Ao tentar incluir um comando de consulta, a execução retornará uma exceção do tipo SQLException. Outra exceção que pode ser levantada por uma atualização em lotes é a BatchUpdateException. Similar à SQLException, mas contém um vetor com os contadores de atualização das operações que foram realizadas. Diego Passos (UFF) JDBC (III) TEPIS II 11 / 40

12 JDBC: Atualizações em Lotes (IV) Atualizações em lotes também podem ser usadas com PreparedStatement. Para isso, criamos o template do comando e, para cada comando específico, adicionamos uma tarefa ao lote. con.setautocommit(false); PreparedStatement stmt = con.preparedstatement("insert INTO CUSTOMERS VALUES (?,?,?)"); stmt.addint(1,1); stmt.addstring(2,"j Smith"); stmt.addstring(3, " "); stmt.addbatch(); stmt.addint(1,2); stmt.addstring(2,"a Smith"); stmt.addstring(3, " "); stmt.addbatch(); int[] upcounts = stmt.executebatch(); con.commit(); Note que o método addbatch() não recebe argumentos. Ele simplesmente coloca a versão atual do PreparedStatement na fila do lote. Diego Passos (UFF) JDBC (III) TEPIS II 12 / 40

13 JDBC: Chaves Auto-Geradas SGBDs em geral suportam a geração automática de chaves primárias. Tipicamente, um valor inteiro auto-incrementado a cada inserção. A especificação original do JDBC não provia uma maneira de acessar a chave auto-gerada quando de uma inserção. Ao contrário, o desenvolvedor era obrigado a executar um segundo comando, fazendo uma consulta para obter o valor da chave. A partir do JDBC 3.0, esta capacidade foi adicionada. Através da criação de versões alternativas dos métodos execute() e executeupdate(). Permitem receber o argumento Statement.RETURN GENERATED KEYS. Isto sinaliza interesse em obter a chave gerada. Neste caso, após a execução dos métodos, pode-se chamar o método getgeneratedkeys(), que retorna um ResultSet. Diego Passos (UFF) JDBC (III) TEPIS II 13 / 40

14 JDBC: Chaves Auto-Geradas (II) import java.sql.*; public class KeyGenerator { public static void main(string[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test"); int newkey = -1; Statement stmt = conn.createstatement(); stmt.executeupdate("insert into people (fullname) values ( John Morgan )", Statement.RETURN_GENERATED_KEYS); ResultSet keys = stmt.getgeneratedkeys(); if (keys.next()) { newkey = keys.getint(1); } keys.close(); System.out.println("New Key: " + newkey); stmt.close(); conn.close(); } } Diego Passos (UFF) JDBC (III) TEPIS II 14 / 40

15 JDBC: BLOBs e CLOBs Sistemas tradicionais baseados em BDs geralmente armazenavam dados pequenos. Nome, CPF, telefone, datas, endereços... De algum tempo para cá, no entanto, tornou-se comum que campos de bases de dados fossem usados para armazenar dados maiores. Textos completos de posts em blogs ou redes sociais. Arquivos binários, como imagens e áudio. Para dar suporte a isso, os SGBDs instituiram os LOBs (Large Objects). Tipicamente, há dois tipos de LOBs: BLOBs: Binary Large Object. CLOBs: Character Large Objects. O SQL99 define ambos os tipos formalmente. Diego Passos (UFF) JDBC (III) TEPIS II 15 / 40

16 JDBC: BLOBs e CLOBs (II) O suporte de fato ao a estes tipos de dados varia de BD para BD. Alguns não suportam. Outros usam nomes não padrão (BINARY, RAW,...). Na versão 1.0 da especificação do JDBC, BLOBs e CLOBs podiam ser acessados apenas através dos métodos getbinarystream() e getasciistream(). Visto anteriormente. A partir da versão 2.0, o JDBC incluiu à interface ResultSet os métodos getblob() e getclob(). A especificação incluiu também classes Blob e Clob, correspondendo aos tipos de retorno dos métodos. Estas classes permitem acesso aos dados através dos métodos getbinarystream() e getasciistream() ou através de leitura direta: getbytes(). getsubstring(). Diego Passos (UFF) JDBC (III) TEPIS II 16 / 40

17 JDBC: Metadados Bancos de dados matém os chamados Metadados. Dados sobre a formato das bases de dados. Logs de operações.... Na maioria das vezes, os metadados são transparentes para as aplicações. Elas conhecem o formato das tabelas. Informação está codificada na aplicação. Algumas vezes, no entanto, a aplicação precisa dinamicamente descobrir a estrutura de uma base de dados. Isto é, precisa ler os metadados. Diego Passos (UFF) JDBC (III) TEPIS II 17 / 40

18 JDBC: Metadados (II) O JDBC provê duas classes para lidar manipulação de metadados: DatabaseMetaData: acesso aos metadados do BD. ResultSetMetaData: acesso aos metadados de um ResultSet. Diego Passos (UFF) JDBC (III) TEPIS II 18 / 40

19 JDBC: DatabaseMetaData Um objeto do tipo DatabaseMetaData é obtido a partir do objeto Connection. Usando o método getmetadata(). Este objeto provê um grande número de métodos que permitem acesso a todo tipo de informação sobre o BD e a base de dados. Alguns exemplos: geturl(): retorna a URL que identifica a base de dados. getmaxconnections(): retorna o número máximo de conexões simultaneas suportadas. gettables(): retorna um ResultSet com todas as tabelas da base de dados. Diego Passos (UFF) JDBC (III) TEPIS II 19 / 40

20 JDBC: ResultSetMetaData Objeto obtido através de um ResultSet resultante de uma consulta. Usando o método getmetadata(). Permite saber: O número de colunas no resultado: getcolumncount(). O nome das colunas: getcolumnlabel(). O tipo de dado de cada coluna: getcolumntypename(). Diego Passos (UFF) JDBC (III) TEPIS II 20 / 40

21 JDBC: ResultSetMetaData (II) import java.sql.*; public class TableViewer { final static String jdbcurl = "jdbc:oracle:customerdb"; final static String jdbcdriver = "oracle.jdbc.driver.oracledriver"; final static String table = "CUSTOMERS"; public static void main(java.lang.string[] args) { System.out.println("--- Table Viewer ---"); try { Class.forName(jdbcDriver); Connection con = DriverManager.getConnection(jdbcURL, "", ""); Statement stmt = con.createstatement( ); ResultSet rs = stmt.executequery("select * FROM "+ table); ResultSetMetaData rsmd = rs.getmetadata( ); int columncount = rsmd.getcolumncount( ); for(int col = 1; col <= columncount; col++) { System.out.print(rsmd.getColumnLabel(col)); System.out.print(" (" + rsmd.getcolumntypename(col)+")"); if(col < columncount) System.out.print(", "); } System.out.println( ); rs.close( ); stmt.close( ); con.close( ); } catch (ClassNotFoundException e) { System.out.println("Unable to load database driver class"); } catch (SQLException e) { System.out.println("SQL Exception: " + e.getmessage( )); } } } Diego Passos (UFF) JDBC (III) TEPIS II 21 / 40

22 JDBC: ResultSetMetaData (III) Exemplo de saída: (Fonte: Java Enterprise in a Nutshell) Diego Passos (UFF) JDBC (III) TEPIS II 22 / 40

23 JDBC: Transações O conceito de transação já foi discutido anteriormente na disciplina. No contexto das EJBs. Uma transação é um conjunto de operações que precisa se comportar de forma atômica. Isto é, como se fosse uma única operação indivisível. No contexto dos Bancos de Dados, transações permitem que múltiplas ações sejam combinadas em uma unidade atômica. Em certas aplicações, uma única operação lógica pode requerer múltiplas alterações na base de dados. Se, por exemplo, um erro ocorre em uma das alterações, queremos poder desfazer todas as alterações que foram efetivamente realizadas. Diego Passos (UFF) JDBC (III) TEPIS II 23 / 40

24 JDBC: Transações (II) Em um Banco de Dados relacional, a execução de uma transação geralmente envolve três passos: Requisitar o início de uma transação. Executar cada uma das operações que compõem a transação. Finalizar a transação (ou com um commit, ou com um rollback). Outro conceito importante relacionado às transações nas bases de dados é o nível de isolamento. As alterações feitas por uma transação podem ter diferentes poĺıticas de visibilidade. No maior nível de isolamento, as alterações feitas em uma transação só ficam visíveis ao resto do sistema após o commit. Em outros casos, pode-se querer um isolamento menor: as alterações ficam visíveis a medida que são realizadas. Diego Passos (UFF) JDBC (III) TEPIS II 24 / 40

25 JDBC: Transações (III) No JDBC, o objeto Connection é responsável pelo gerenciamento de transações. Por padrão, um Connection sempre é criado no modo autocommit. A cada comando SQL executado com sucesso, corresponde um commit automático. Alterações são imediatamente refletidas na base de dados. Vimos anteriormente como desabilitar esse modo: método setautocommit(). É possível verificar o status com o método getautocommit(). Diego Passos (UFF) JDBC (III) TEPIS II 25 / 40

26 JDBC: Transações (IV) Uma vez desabilitado o modo autocommit, o primeiro comando SQL executado implicitamente inicia uma transação. O desenvolvedor é obrigado a, explicitamente, fazer o commit. Método commit() do objeto Connection. try { con.setautocommit(false); stmt.executeupdate("update INVENTORY SET ONHAND = 10 WHERE ID = 5"); stmt.executeupdate("insert INTO SHIPPING (QTY) VALUES (5)"); con.commit(); } catch(sqlexception e) { con.rollback(); } Diego Passos (UFF) JDBC (III) TEPIS II 26 / 40

27 JDBC: Isolamento de Transações O JDBC também suporta diferentes níveis de isolamento para transações. São definidos 5 níveis distintos. O suporte efetivo a cada nível depende do suporte do driver e do BD. Note que o modo padrão também varia de acordo com o driver e o DB. Em geral, níveis mais altos de isolamento resultam em penalidades de desempenho. Diego Passos (UFF) JDBC (III) TEPIS II 27 / 40

28 JDBC: Isolamento de Transações (II) Cada um dos níveis de isolamento é definido por uma constante: TRANSACTION NONE: transações são desabilitadas (ou não suportadas). TRANSACTION READ UNCOMMITED: isolamento mínimo, permite que outras transações vejam dados não comitados. TRANSACTION READ COMMITED: transações não veem dados não comitados. TRANSACTION REPEATABLE READ: leituras têm sempre o mesmo resultado em uma transação. Suponha que uma transação faça uma consulta. Após obter o resultado, outra transação altera (e comita) linhas que estão no resultado. Se a primeira transação repetir a consulta, a resposta será igual à consulta original. Até que ela seja comitada. TRANSACTION SERIALIZABLE: igual ao anterior, mas também vale para inserções. Diego Passos (UFF) JDBC (III) TEPIS II 28 / 40

29 JDBC: Isolamento de Transações (III) O modo de isolamento pode ser configurado através do método settransactionisolation(). Método disponível no objeto Connection. Passando como argumento a constante correspondente ao nível desejado. Mas como saber se um determinado nível está disponível? Ou mesmo, o próprio suporte transacional? Utilizando métodos do objeto DatabaseMetaData: getdefaulttransactionisolation(). supportstransaction(). supportstransactionisolationlevel(). Diego Passos (UFF) JDBC (III) TEPIS II 29 / 40

30 JDBC: Savepoints Algumas vezes, é útil ser capaz de fazer um rollback apenas em parte de uma transação. Por exemplo, dependendo do tipo de erro na transação, queremos deixar algumas das alterações realizadas. Não é exatamente o conceito de transação, mas às vezes é útil. Para dar suporte a este tipo de operação, o JDBC permite que definamos savepoints. Uma marcação em um determinado ponto da transação que podemos referenciar ao fazer um rollback. Neste caso, o rollback é feito somente até o savepoint. Diego Passos (UFF) JDBC (III) TEPIS II 30 / 40

31 JDBC: Savepoints (II) Um savepoint é criado através do método setsavepoint(). Método do objeto Connection. Retorna um objeto do tipo Savepoint. Recebe como argumento uma string: um nome arbitrário para o savepoint. Statement stmt = con.createstatement(); stmt.executeupdate("delete from clients"); stmt.executeupdate("insert into clients (NAME, ID) values ( Charles Babbage, 1)"); Savepoint save = con.setsavepoint("insert_point"); stmt.executeupdate("update clients set NAME = Ada Lovelace where ID = 1"); con.rollback(save); con.commit(); Diego Passos (UFF) JDBC (III) TEPIS II 31 / 40

32 JDBC: Stored Procedures A maioria dos Bancos de Dados relacionais dão suporte às Stored Procedures. Pequenos procedimentos armazenados dentro do próprio BD. Escritos em alguma linguagem interna (e.g., PL/SQL). Permitem uniformizar a execução de tarefas comuns sobre uma dada base de dados. Exemplo: inserção de um novo funcionário gera alterações em várias tabelas. Stored procedure automatiza este processo, encapsulando as várias ações. Também permitem isolar o código da aplicação de eventuais mudanças na estrutura da base de dados. Diego Passos (UFF) JDBC (III) TEPIS II 32 / 40

33 JDBC: Stored Procedures (II) Exemplo (em PL/SQL da Oracle): CREATE OR REPLACE PROCEDURE sp_interest (id IN INTEGER bal IN OUT FLOAT) IS BEGIN SELECT balance INTO bal FROM accounts WHERE account_id = id; bal := bal + bal * 0.03; UPDATE accounts SET balance = bal WHERE account_id = id; END Recebe dois argumentos: id de uma conta e saldo. Atualiza o saldo na tabela. Diego Passos (UFF) JDBC (III) TEPIS II 33 / 40

34 JDBC: Stored Procedures (III) No JDBC, stored procedures são acessíveis pela interface CallableStatement. O CallableStatement é o terceiro e último tipo de statemente disponível no JDBC. Além do Statement e PreparedStatement. Um objeto do tipo CallableStatement pode ser obtido através do objeto Connection. Método preparecall(). Similar ao preparestatement. Diego Passos (UFF) JDBC (III) TEPIS II 34 / 40

35 JDBC: Stored Procedures (IV) O JDBC provê uma sintaxe uniformizada para chamada de storage procedure através da interface CallableStatement. Provê transparência em relação ao BD. Isto é, pode-se trocar de BD sem alterar as chamadas. Há duas variações na sintaxe: Chamadas que não retornam valor. {call procedure name[(?[,?...])]} Chamadas que retornam valor. {? = procedure name[(?[,?...])]} Em ambas, a interrogação serve como um marcador que será substituído por valores dos parâmetros ou variável de retorno. O driver JDBC faz a conversão para a sintaxe esperado pelo BD. Diego Passos (UFF) JDBC (III) TEPIS II 35 / 40

36 JDBC: Stored Procedures (V) Exemplo de uso: CallableStatement cstmt = con.preparecall("{call sp_interest(?,?)}"); cstmt.registeroutparameter(2, Types.FLOAT); cstmt.setint(1, accountid); cstmt.setfloat(2, ); cstmt.execute(); out.println("new Balance: " + cstmt.getfloat(2)); Note que o segundo parâmetro é de entrada e saída. Indicado pelo método registeroutparameter(). Valor resultante obtido pelo método getfloat(). Note ainda os métodos get e set específicos para cada tipo de dados. Finalmente, note que o CallableStatement só é mandatório para storage procedures que retornam valor. Para as outras, podemos usar Statement ou PreparedStatement. Diego Passos (UFF) JDBC (III) TEPIS II 36 / 40

37 JDBC: Escape Sequences BDs diferentes utilizam comandos e/ou caracteres especiais diferentes para realizar certas tarefas. Escape sequences são strings com sintaxe especial que permitem acesso a estes de forma independente do BD. Estas sequencias adotam uma sintaxe padronizada pelo JDBC e são traduzidas pelos drivers para a sintaxe correspondente no BD. Até agora, vimos dois exemplos de escape sequences: Chamada de stored procedures. Formatação de datas e horários. Diego Passos (UFF) JDBC (III) TEPIS II 37 / 40

38 JDBC: Escape Sequences (II) Sintaxe básica: Par de chaves. Palavra-chave. Conjunto (opcional) de parâmetros. Exemplo de palavras-chave já vistas: call, d, t, ts. Outro exemplo de palavra-chave: escape. Define qual é o caracter de escape. stmt.executequery("select * FROM ApiDocs WHERE Field_Name like TRANS\_% {escape \ }"); Diego Passos (UFF) JDBC (III) TEPIS II 38 / 40

39 JDBC: Escape Sequences (III) Outra palavra-chave é a fn. Permite acesso a funções escalares internas do BD. Exemplo: função SOUNDEX(string). Retorna uma representação numérica do som da string. Exemplo de acesso à função no JDBC: {fn SOUNDEX("Bacon")} Note que a disponibilidade das funções varia de BD para BD. Alguns drivers sequer suportam a escape sequence fn. Diego Passos (UFF) JDBC (III) TEPIS II 39 / 40

40 Referências Conteúdo e exemplos baseados em: Jim Farley e William Crawford. Java Enterprise in a Nutshell: A Practical Guide. Terceira edição. Capítulo 8. Diego Passos (UFF) JDBC (III) TEPIS II 40 / 40

Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.

Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu. Acesso a Bancos de Dados (JDBC) Autor: Cleyton Maciel (clayton.maciel@ifrn.edu.br) Adaptação: Pedro Baesse (pedro.baesse@ifrn.edu.br) JDBC Conceito Tipos Transações Tipos SQL e JAVA Conexão JDBC Implementação

Leia mais

Programação Orientada a Objetos JDBC Java Database Connectivity

Programação Orientada a Objetos JDBC Java Database Connectivity Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java

Leia mais

Integrando Java com Banco de Dados

Integrando Java com Banco de Dados Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java

Leia mais

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão Agenda Instalação e configuração Driver JDBC Criação da classe de conexão Processamento de comandos SQL com JDBC Gerenciamento de conexões Execução simples de consultas Tratamento de exceções Instalação

Leia mais

Acesso a Bancos de Dados em Java (JDBC)

Acesso a Bancos de Dados em Java (JDBC) Acesso a Bancos de Dados em Java (JDBC) Jomi Fred Hübner Universidade Regional de Blumenau Departamento de Sistemas e Computação Roteiro Introdução Objetivo da JDBC Vantagens Visão geral do acesso a SGBDs

Leia mais

JDBC Acessando Banco de Dados

JDBC Acessando Banco de Dados Acessando Banco de Dados Objetivos Entender o que são Drivers. Diferenciar ODBC, JDBC e DRIVERMANAGER. Desenvolver uma aplicação Java para conexão com Banco de Dados. Criar um objeto a partir da classe

Leia mais

JDBC. Java DataBase Connectivity

JDBC. Java DataBase Connectivity JDBC Java DataBase Connectivity JDBC??? Uma API que permite o acesso a virtualmente qualquer fonte de dado tabular a partir de um programa escrito em Java O que é uma uma fonte de dados tabular? acesso

Leia mais

Conectividade de Banco de Dados Java JDBC

Conectividade de Banco de Dados Java JDBC Conectividade de Banco de Dados Java JDBC João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 3.1 Última Atualização: Abril/2005 1 Objetivos Explicar o que é JDBC Utilizar as classes e interfaces do pacote

Leia mais

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP Banco de dados POO Márcio Delamaro 1/37 Objetivo Nesta aula vamos dar uma breve introdução do que é um Banco de dados relacional Como acessar um banco de dados usando Java 2/37 O que é Bancos de dados

Leia mais

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função .1 JDBC A linguagem Java possui classes que permitem a com um banco de dados. Essas classes fazem parte do pacote JDBC (Java Database Connectivity), uma API (Application Program Interface) que permite

Leia mais

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 1 0 Semestre de 2013 BD I Prof. Lineu Mialaret Aula 25:

Leia mais

Desenvolvimento de Sistemas de Informação http://sim.di.uminho.pt/disciplinas/dsi

Desenvolvimento de Sistemas de Informação http://sim.di.uminho.pt/disciplinas/dsi 1/100 Departamento de Informática, Universidade do Minho http://www.di.uminho.pt Desenvolvimento de Sistemas de Informação http://sim.di.uminho.pt/disciplinas/dsi LESI - 4 ō Ano / 2 ō Semestre (5308O7)

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC Aula 09a- Acessando os dados através JDBC Conteúdo Programático desta aula Compreender os comando existentes para acesso e manipulação de dados nos Bancos de dados Apresentar os dados obtidos no banco

Leia mais

Java e Conexão com Banco de Dados

Java e Conexão com Banco de Dados A Plataforma Java Programação Orientada a Objetos em Java Java e Conexão com Banco de Dados Prof. Giuliano Prado de Morais Giglio, M.Sc. Conexão com Banco de Dados JDBC: Java Database Connectivity Acesso

Leia mais

Acesso a Bancos de Dados (JDBC) Desenvolvimento de Aplicações em Java O QUE É JDBC JAVA E JDBC CARACTERÍSTICAS DE JDBC

Acesso a Bancos de Dados (JDBC) Desenvolvimento de Aplicações em Java O QUE É JDBC JAVA E JDBC CARACTERÍSTICAS DE JDBC Desenvolvimento de Aplicações em Java José Maria Monteiro www.lia.ufc.br/~zemaria monteiro@unifor.br zemaria@lia.ufc.br O QUE É JDBC Conjunto de classes e interfaces (API) escritas em Java que faz o envio

Leia mais

Java 2 Standard Edition Fundamentos de

Java 2 Standard Edition Fundamentos de Java 2 Standard Edition Fundamentos de Helder da Rocha www.argonavis.com.br 1 JDBC JDBC é uma interface baseada em Java para acesso a bancos de dados através de SQL. Pacote Java padrão: java.sql Baseada

Leia mais

Conectividade. Conectividade. Conectividade. Conectividade. Conectividade. Conectividade. Fernando Fonseca & Ana Carolina

Conectividade. Conectividade. Conectividade. Conectividade. Conectividade. Conectividade. Fernando Fonseca & Ana Carolina Conectividade Fernando Fonseca & Ana Carolina Conectividade O surgimento de ambiente cliente-servidor composto por diferentes plataformas vindas de diversos fabricantes requer das aplicações a necessidade

Leia mais

(UFF) JDBC (I) TEPIS II

(UFF) JDBC (I) TEPIS II Aula 20: JDBC (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JDBC (I) TEPIS II 1 / 33 JDBC: Introdução Especificação que provê acesso

Leia mais

Banco de Dados. Banco de Dados

Banco de Dados. Banco de Dados Banco de Dados Um banco de dados é um conjunto de informações organizadas de forma regular em tabelas semelhantes a matrizes de duas dimensões que contém linhas e colunas (Estilo planilha do Microsoft

Leia mais

Exercícios de fixação: Listas

Exercícios de fixação: Listas Exercícios de fixação: Listas Exercício 1 : Inlcuindo o driver ao seu projeto 1. No Eclipse, vamos criar um novo projeto chamado CursoJavaJDBC. 2. Copie o driver do MySQL para o seu projeto. a. localize

Leia mais

Código-Fonte da Prática 02

Código-Fonte da Prática 02 Código-Fonte da Prática 02 Sumário Classe ConexaoDB... 2 Classe PropriedadesBD... 5 Arquivo conexao.properties... 6 Programação Comercial Walderson Shimokawa 1 Classe ConexaoDB package br.edu.univag.util.sql;

Leia mais

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL

JDBC JDBC. JDBC - Arquitetura. JDBC Arquitetura Pacote Java.sql. Java Database Connectivity JDBC PostgreSQL Ciência da Computação GBC043 Sistemas de Banco de Dados Java Database Connectivity JDBC PostgreSQL JDBC Diferentes SGBD possuem diferentes formas de se comunicar com uma aplicação Aplicação Java Profa.

Leia mais

Conectividade. Gerenciamento de Dados e Informação. Conectividade. Conectividade. Uso de Protocolo comum de acesso a dados.

Conectividade. Gerenciamento de Dados e Informação. Conectividade. Conectividade. Uso de Protocolo comum de acesso a dados. Conectividade Gerenciamento de Dados e Informação Conectividade - O surgimento de ambientes com a arquitetura cliente-servidor compostos por diferentes plataformas vindas de diversos fabricantes requer

Leia mais

Banco de Dados. Banco de Dados. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Banco de Dados. Banco de Dados. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Mapeamento Objeto-Relacional 2 API JDBC 3 API

Leia mais

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais

Curso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais Curso de Java Acesso a banco de dados através de JDBC Todos os direitos reservados Klais Java e SGBD s SQL é a linguagem padrão para acesso a banco de dados e se estabeleceu como tal no mercado. SQL no

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. JDBC - Java Database Connectivity A,L,F,M JAVA Marcio de Carvalho Victorino 1 JDBC - Java Database Connectivity 2 1 JDBC conceito JDBC é uma API (Application Program Interface) para acesso a SGBD s (Sistemas Gerenciadores de Banco de Dados) relacionais

Leia mais

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL

IEC Banco de Dados I Aula 11 Técnicas de Programação SQL IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário

Leia mais

CONEXÃO JAVA - BANCO DE DADOS

CONEXÃO JAVA - BANCO DE DADOS CONEXÃO JAVA - BANCO DE DADOS RAQUEL, HEITOR, TIAGO, GEWTON Instituição Federal do Rio Grande do Norte- www.cefetrn.br JDBC JAVA DATABASE CONNECTIVITY INTRODUÇÃO API JDBC possibilita ao programador de

Leia mais

DATA ACCESS OBJECT (DAO)

DATA ACCESS OBJECT (DAO) Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Plano de Ensino e Aprendizagem 2 Java Conexão banco de dados 3 Agenda Conexão Banco de Dados Padrão DAO (Data Access Object)

Leia mais

Conectividade. Gerenciamento de Dados e Informação. Conectividade. Conectividade. Uso de Protocolo comum de acesso a dados. Uso de SGBD.

Conectividade. Gerenciamento de Dados e Informação. Conectividade. Conectividade. Uso de Protocolo comum de acesso a dados. Uso de SGBD. Conectividade Gerenciamento de e Informação Conectividade O surgimento de ambientes com a arquitetura cliente-servidor compostos por diferentes plataformas vindas de diversos fabricantes requer das aplicações

Leia mais

Criar um projeto ->. Criar no pacote entity a classe Funcionario com os atributos(idfuncionario, nome, sexo, ativo, salario). Criar construtor vazio, o construtor cheio, o tostring com todos os atributos

Leia mais

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados

Módulo 5 - JDBC java.sql - Conexão com Banco de Dados Aplicações de Linguagem de Programação Orientada a Objetos 2ºsem/2012 (Professor: Tiago) Módulo 5 - JDBC java.sql - Conexão com Banco de Dados Fazer o download do drive de conexão com o BD: http://jdbc.postgresql.org/download.html

Leia mais

JDBC - Java Data Base Connectivity

JDBC - Java Data Base Connectivity JDBC - Java Data Base Connectivity JDBC API para Bases de Dados relacionais. Permite o desenvolvimento de aplicac~oes que interagem com BD relacionais de modo uniforme e independente dos diferentes SGBD.

Leia mais

Java Básico JDBC. Razer Anthom Nizer Rojas Montaño (razer@razer.org) 2008. Banco de Dados: JDBC

Java Básico JDBC. Razer Anthom Nizer Rojas Montaño (razer@razer.org) 2008. Banco de Dados: JDBC Java Básico JDBC Razer Anthom Nizer Rojas Montaño (razer@razer.org) 2008 Banco de Dados: JDBC API de acesso a banco de dados Pacote java.sql.* Precisa-se de um driver de acesso. Ex para oracle: oracle.jdbc.driver.oracledriver

Leia mais

Java DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA

Java DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA Java DataBase Connectivity - JDBC Ramon Lopes Embaixador de Campus Sun - UFBA 1 Agenda O que é um BD? Introdução SQL JDBC Padrões de Projetos Projeto Final Sun Confidential: Internal Only 2 O que é um

Leia mais

Integrando Java e Banco de Dados (Tutorial) por Jorge Henrique Cabral Fernandes

Integrando Java e Banco de Dados (Tutorial) por Jorge Henrique Cabral Fernandes XV Simpósio Brasileiro de Bancos de Dados 2-6 de Outubro de 2000 João Pessoa - Paraíba, Brasil Integrando Java e Banco de Dados (Tutorial) por Jorge Henrique Cabral Fernandes Departamento de Informática

Leia mais

Padrões de Projeto e Persistência com DAO

Padrões de Projeto e Persistência com DAO Curso de Análise de Sistemas Análise de Sistemas II Padrões de Projeto e Persistência com DAO Prof. Giuliano Prado de Morais Giglio, M.Sc. Introdução a Padrões de Projeto Padrões de Projeto foram inicialmente

Leia mais

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br

Fernando Freitas Costa. Pós-Graduando em Gestão e Docência Universitária. blog.fimes.edu.br/fernando nando@fimes.edu.br JavaServerFaces JSF Fernando Freitas Costa Bacharel em Sistemas de Informação Pós-Graduando em Gestão e Docência Universitária blog.fimes.edu.br/fernando nando@fimes.edu.br JavaServerFaces e Banco de Dados

Leia mais

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC Aula 9- Introdução ao JDBC Conteúdo Programático desta aula Compreender o funcionamento das ferramentas de mapeamento de acesso aos bancos de dados Utilizar componentes para acesso a dados em banco de

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Introdução à Tecnologia Java 02/2012. Java Aula 05 12/09/2012. Celso Olivete Júnior. olivete@fct.unesp.br

Introdução à Tecnologia Java 02/2012. Java Aula 05 12/09/2012. Celso Olivete Júnior. olivete@fct.unesp.br Java Aula 05 JDBC 12/09/2012 Celso Olivete Júnior olivete@fct.unesp.br 1 Exercício para aquecimentoutilize o pacote Swing C = (F-32)*5 ------------ 9 Celso Olivete Júnior 2 Softwares utilizados: Java Development

Leia mais

Acessando dados em Java com JDBC

Acessando dados em Java com JDBC Acessando dados em Java com JDBC Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Objetivo do curso O que é JDBC? Arquitetura da API Detalhes e uso da API O que é JDBC? Diferentes

Leia mais

Programação com Acesso a Banco de Dados

Programação com Acesso a Banco de Dados Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade

Leia mais

PERSISTÊNCIA EM JAVA. Introdução. Conexão a banco de dados através do driver JDBC UNIDADEE

PERSISTÊNCIA EM JAVA. Introdução. Conexão a banco de dados através do driver JDBC UNIDADEE UNIDADEE Nesta unidade, será abordada persistência em Java. Saiba que persistência nada mais é que armazenar informações em um meio que continue existindo após o término do programa. Por exemplo, podemos

Leia mais

JDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com

JDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com JDBC (Fundamentos) Sang Shin Java Technology Architect Sun Microsystems, Inc. sang.shin@sun.com www.javapassion.com 1 Agenda O que é JDBC? Passo a passo do uso da API JDBC DataSource & pool de Conexões

Leia mais

Leonardo Gresta Paulino Murta leomurta@gmail.com

Leonardo Gresta Paulino Murta leomurta@gmail.com Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no

Leia mais

BD II (SI 587) Programação SQL. Prof. Josenildo Silva.

BD II (SI 587) Programação SQL. Prof. Josenildo Silva. BD II (SI 587) Programação SQL Prof. Josenildo Silva jcsilva@ifma.edu.br Nota Estes slides são baseados nos slides disponibilizados pelos autores ELMASRI e NAVATHE, para o livro Sistemas de Banco de Dados,

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia Sistemas de Informação Ling.Prog.V Prof. Roberto Couto Lima Fonte: Curso Java Prof. Fabricio Leonard Leopoldino (Universo)

Leia mais

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC Java Database Connectivity Provê acesso SQL ao banco de dados Principais

Leia mais

Modelo Entidade-Relacionamento (E-R)

Modelo Entidade-Relacionamento (E-R) Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo

Leia mais

Oracle Comandos para Processamento de Transações

Oracle Comandos para Processamento de Transações Oracle Comandos para Processamento de Transações Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Transação Unidade lógica de trabalho contém um ou mais comandos SQL para manipulação

Leia mais

Aula 1 Acesso a Banco de Dados

Aula 1 Acesso a Banco de Dados Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

PRDS /01/2013. Ricardo A. Venieris Rodnei Couto

PRDS /01/2013. Ricardo A. Venieris Rodnei Couto PRDS 2013 24/01/2013 Ricardo A. Venieris Rodnei Couto Review Hello World Tecnologia Java Variáveis, Operadores Expressões, Comandos e Blocos Controle de Fluxo: Decisão Classes e Interfaces Try, catch,

Leia mais

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços

Web Services. EclipseSDK/DB2 Construindo/Consumindo Serviços Web Services EclipseSDK/DB2 Construindo/Consumindo Serviços Mario C. Ponciano a.k.a: Razec http://razec.wordpress.com mrazec@gmail.com 28 de Novembro 2009 2 Sumário Objetivo... 3 Requisitos... 3 Desenvolvimento...

Leia mais

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado

Leia mais

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs?

INTRODUÇÃO. No entanto, o que pode ser considerado um produto (resultado) da criação de BDs? BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Um Banco

Leia mais

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC.

JDBC DRIVER. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC. Objetivo: Possibilitar aplicações não Zim de se conectar a um banco de dados Zim utilizando as normas JDBC. Requisitos para usar o driver JDBC Do lado do cliente: O driver JDBC Do lado do servidor: A base

Leia mais

Linguagens de Programação

Linguagens de Programação JDBC - Java Database Connectivity Necessidades : ligar aplicações Java e Applets a DBMS Drivers que suportam SQL um driver JDBC/DBMS deve suportar pelo menos o ANSI SQL92 JDBC é constituído por interfaces

Leia mais

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por

Leia mais

Triggers(Gatilhos) Tiago Alves de Oliveira

Triggers(Gatilhos) Tiago Alves de Oliveira Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos

Leia mais

Aula 5: J2EE Application Assembly Model

Aula 5: J2EE Application Assembly Model Aula 5: J2EE Application Assembly Model Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) J2EE Application Assembly Model TEPIS II 1 / 31

Leia mais

Java - Conexão ao Banco de Dados usando JDBC

Java - Conexão ao Banco de Dados usando JDBC Java - Conexão ao Banco de Dados usando JDBC 1. Criar o modelo no DBDesigner, como mostrado a seguir. Salvar o script de criação da tabela. 2. Criar o esquema e as tabelas no MySQL (Pode usar o MySQL Query

Leia mais

Controle de Transação

Controle de Transação Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis

Leia mais

Desenvolvimento de Aplicaçõ. ções em Java

Desenvolvimento de Aplicaçõ. ções em Java Sistemas de Informação Desenvolvimento de Aplicaçõ ções em Java Prof. Giuliano Prado de Morais Giglio, M.Sc. profgiuliano@yahoo.com.br http://www.giulianoprado.xpg.com.br Desenvolvimento de Aplicações

Leia mais

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 9 JDBC (Java Database Connectivity) Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas

Leia mais

Aula Prática JBCD - Introdução

Aula Prática JBCD - Introdução Aula Prática JBCD - Introdução Paulo Ricardo Lisboa de Almeida 1 Instanciando a aplicação Clone o projeto da aula passada com o Git (disponível no site da disciplina) Suba o banco de dados Crie as tabelas

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6.1 Revisão de Banco de Dados (SQL e acesso via aplicativo)

Leia mais

Introdução à Tecnologia Java 02/2012. Java Aula 06. Banco de Dados Exemplo com JTable 19/09/2012. Celso Olivete Júnior.

Introdução à Tecnologia Java 02/2012. Java Aula 06. Banco de Dados Exemplo com JTable 19/09/2012. Celso Olivete Júnior. Java Aula 06 Banco de Dados Exemplo com JTable Tratamento de Exceções 19/09/2012 Celso Olivete Júnior olivete@fct.unesp.br 1 Banco de dados exemplo com JTable permite exibir os dados do BD na forma de

Leia mais

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano Linguagem de Programação 1 Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano Objetivo: Construir uma aplicação Java que interaja com Banco de Dados INTRODUÇÃO Nas aulas anteriores

Leia mais

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Banco de Dados. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Banco de Dados Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Roteiro Mapeamento de objetos para modelo relacional Estratégias de persistência Persistência JDBC Mapeando Objetos para o Modelo Relacional

Leia mais

Capítulo 1. Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object)

Capítulo 1. Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object) Capítulo 1 Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object) Introdução Os programas desenvolvidos em Java comunicam se com um banco de dados

Leia mais

No cabeçalho de cada arquivo Java onde haverá acesso a banco de dados, o seguinte Import deve ser colocado:

No cabeçalho de cada arquivo Java onde haverá acesso a banco de dados, o seguinte Import deve ser colocado: cesso a banco de dados através de JDBC Prof. Pasteur Ottoni de Miranda Junior Disponível em www.pasteurjr.blogspot.com 4.1-Configurações iniciais Para rodar JDBC em sua máquina faça: 1-nstalar Java e JDBC.

Leia mais

Aula 4 JDBC - Java Database Connectivity

Aula 4 JDBC - Java Database Connectivity Aula 4 JDBC - Java Database Connectivity Prof. Dr. João Bosco M. Sobral mail: bosco@inf.ufsc.br - página: http://www.inf.ufsc.br/~bosco Rodrigo Campiolo mail: rcampiol@inf.ufsc.br - página: http://www.inf.ufsc.br/~rcampiol

Leia mais

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Persistência alberto@ufs.br de Programação Departamento de Computação Universidade Federal de Sergipe Retrospectiva Quanto ao Tempo de Vida Variáveis Estáticas Variáveis Stack-Dinâmicas Variáveis Heap-Dinâmicas

Leia mais

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql

GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql GBC043 - Sistemas de Banco de Dados Lab8 : Transações no PostgreSql Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Transações Ver conjunto de slides na opção Transações

Leia mais

JDBC. Prof. Márcio Bueno (poonoite@marciobueno.com)

JDBC. Prof. Márcio Bueno (poonoite@marciobueno.com) JDBC Prof. Márcio Bueno (poonoite@marciobueno.com) JBDC Java Database Connectivity ou JDBC é um conjunto de classes e interfaces (API) escritas em Java que faz o envio de instruções SQL para qualquer banco

Leia mais

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi Programando em SQL Triggers, Stored Procedures e funções Objetivo Descrever as funcionalidades de triggers, store procedures e funções; Apresentar vantagens e benefícios; Criação e Gerenciamento de Store

Leia mais

JAVA JDBC Java Database Connectivity

JAVA JDBC Java Database Connectivity JAVA JDBC Java Database Connectivity Permite o acesso a banco de dados Uma das formas de acesso é utilizando o driver JDBC-ODBC que permite a conexão através de um DRIVER ODBC O ODBC (Open Database Connectivity)

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a

Leia mais

Faça Fácil Proficy Historian e SQL Linked Server

Faça Fácil Proficy Historian e SQL Linked Server Faça Fácil Proficy Historian e SQL Linked Informações de produção consolidadas através de indicadores e armazenadas em historiadores de processo, como o Proficy Historian, muitas vezes devem ser integradas

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Laboratório de Bases de Dados Tratamento de Exceções Exceções erros e imprevistos que podem ocorrer durante a execução de um bloco PL/SQL SGBD ao encontrar um erro ou um imprevisto,

Leia mais

JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet. Vitor Vaz da Silva

JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet. Vitor Vaz da Silva JAVA 14 ODBC / JDBC Aceder a Bases de Dados através da Internet Vitor Vaz da Silva Ter tudo à mão?! Saber tudo?! Saber onde encontrar?! Saber quem sabe?! As Bases de Dados ajudam a guardar dados e informação

Leia mais

Persistência BD / drivers

Persistência BD / drivers Instituto Federal de Minas Gerais Campus Ponte Nova Persistência BD / drivers Professor: Saulo Henrique Cabral Silva Persistência Persistir é o processo de armazenamento de dados. A biblioteca de persistência

Leia mais

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

[versão para impressão] Link original:  comp=24763 Conhecendo o PL/SQL www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp? comp=24763 Conhecendo o PL/SQL Veja neste artigo o que é PL/SQL, quando utilizá-la e uma breve

Leia mais

A linguagem SQL

A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

JavaServer Faces JSF

JavaServer Faces JSF 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 nando@fimes.edu.br JavaServer Faces e Banco de

Leia mais

BDII SQL TRANSAÇÃO Revisão 2

BDII SQL TRANSAÇÃO Revisão 2 exatasfepi.com.br BDII SQL TRANSAÇÃO Revisão 2 André Luís Duarte Honra a teu pai e a tua mãe (que é o primeiro mandamento com promessa), para que te vá bem, e sejas de longa vida sobre a terra.(ef 6:2,3)

Leia mais

Faça Fácil. Proficy Historian e SQL Linked Server

Faça Fácil. Proficy Historian e SQL Linked Server Faça Fácil Proficy Historian e SQL Linked Server Informações de produção consolidadas através de indicadores e armazenadas em historiadores de processo, como o Proficy Historian, muitas vezes devem ser

Leia mais