PRDS - Programa de Residência em Desenvolvimento de Software
|
|
- Ana do Carmo Borja Lage
- 8 Há anos
- Visualizações:
Transcrição
1 PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Andrew acosta@inf.puc-rio.br Rodrigo Paes rbp@les.inf.puc-rio.br Carlos Lucena lucena@inf.puc-rio.br
2 Conteúdo Módulo 1: Orientação a Objetos com Java 8 horas Sintaxe básica IDE Eclipse 3.3 Classe, Interface, Herança Polimorfismo, Delegação Classes Genéricas e Coleções em Java 1.5 Persistência com JDBC Módulo 2: Introdução a Engenharia de Software - 04 horas Processos de desenvolvimento de software Principais Disciplinas Módulo 03: Requisitos de Software e UML Básico - 12 horas Requisitos Modelo de Casos de Uso Modelo de Classes Modelo Dinâmico Módulo 04: Desenvolvimento WEB I - 12 horas Servlets, JSP, Desenvolvimento de taglibs Arquitetura 3 camadas MVC básico 2
3 Conteúdo Módulo 05: Reuso de Software - 08 horas Frameworks Padrões de Projeto Módulo 06: Mapeamento O/R e Hibernate - 08 horas Mapeamento de OO para o Modelo Relacional Persistência com Hibernate Módulo 07: Teste de Software - 08 horas Teste unitário Teste de aceitação Teste de desempenho Teste de carga Módulo 08: Desenvolvimento WEB II - 24 horas Struts 2.0 3
4 Conceitos de Orientação a Objetos
5 Conceitos Principais Objeto Conjunto de variáveis e métodos relacionados Normalmente, modelam objetos do mundo real Mensagem Forma de comunicação e interação entre objetos Classe Esquema ou protótipo dos objetos que são criados Herança Mecanismo poderoso e natural para organizar e estruturar o software Interface Contrato entre uma classe e o mundo externo 5
6 Objetos Principais características Estado Representado por atributos Comportamento Representado por métodos Objeto de Software Bicicleta modelada como objeto 6
7 Objetos Métodos Operam estado interno do objeto Mecanismo primário para comunicação entre objetos Objeto pode Expor suas variáveis a outros objetos Esconder métodos de outros objetos Isso é feito na declaração dos atributos e métodos Encapsulamento Princípio fundamental da OO Esconde estado interno dos objetos Interação através de mensagens 7
8 Encapsulamento Benefícios Modularidade Código dos objetos escritos e mantidos independentemente do código de outros objetos Ocultamento de Informações Implementação interna escondida do mundo externo Re-uso de Código Objetos existentes podem ser reusados Fácil Plugabilidade e Debug Objetos problemáticos podem ser substituídos por outros equivalentes 8
9 Mensagens Mensagem Solicitação que um objeto execute um método Troca de mensagens entre objetos Forma de interação e comunicação Parâmetros Informações passadas através da mensagem Três componentes Objeto ao qual a mensagem é endereçada Nome do método a ser executado Parâmetros requeridos pelo método 9
10 Classes Esquema ou Protótipo Define variáveis e métodos de objetos de um mesmo tipo Objeto: instância de uma classe Classe Objetos 10
11 Classes Valor de Variáveis de Instância Fornecidos por cada instância da classe Variáveis e Métodos de Instâncias Acessados através da instância da classe Variáveis e Métodos de Classe Fazem parte da Classe Acessados através da classe ou da instância da classe 11
12 Herança Classes podem herdar estado e comportamento de outras classes Superclasse Ancestral direto de uma classe ou Quaisquer ascendentes dela Bicycle Subclasse Classe que deriva de outra classe Demais classes Herda variáveis e métodos Pode não ter acesso a eles 12
13 Herança Herança Múltipla Classe possui mais de uma superclasse direta Não suportado em Java Subclasses podem Adicionar novos atributos e métodos Sobreescrever métodos Implementação especializada para estes métodos Árvore de Herança ou Hierarquia de Classes Tão profunda quanto necessário Em geral, quanto mais abaixo na hierarquia Mais especializado é o comportamento de uma classe 13
14 Interface Contrato na forma de Coleção de métodos Declarações de constantes Quando uma classe implementa uma interface Compromete-se a fornecer implementação para todos os métodos declarados na interface Classe pode implementar múltiplas interfaces 14
15 Classe X Interface Tipo Conjunto de solicitações às quais ele pode atender O que o objeto é capaz de fazer Interface do objeto Promessa de serviços Classe Define Estado interno de um objeto Implementação de suas operações Como o objeto é implementado Implementação do objeto Cumprimento de uma promessa de serviços 15
16 Classe X Interface Sem compreender tipo e classe Não há como entender Herança de tipo Herança de implementação Herança de classe (de implementação) Define a implementação de um objeto em função da implementação de outro Mecanismo para compartilhamento de código Herança de tipo (de interface) Define quando um objeto pode ser utilizado no lugar do outro Cumpre a mesma promessa que o outro prometeu 16
17 Classe X Interface Herança de Classe Implementação da mesma forma que o outro implementa!!! Herança de Tipo Implementação do que o outro promete!!! Herança de Classe X Herança de Tipo A herança de implementação também implica herança de tipo!!! 17
18 Quando usar herança? O objeto é um tipo especial de... Transação Dispositivo Reserva Compra Mouse Teclado e não um papel assumido por! Pessoa Tripulante Passageiro Agente 18
19 Quando usar herança? O objeto nunca tem que mudar para outra classe! Dispositivo Um Tripulante de um vôo pode ser Passageiro de outro. Mouse Teclado Pessoa Um Mouse nunca vai se tornar um Teclado Tripulante Passageiro Agente 19
20 Quando usar herança? As subclasses não sobrescrevem métodos da superclasse (apenas adicionam!). Superclasse desenhar() testar() Sobrescreve tudo!? Pra que herdar??? Superclasse desenhar() testar() SubclasseA SubclasseB SubclasseA SubclasseB imprimir() executar() Novas funcionalidades... Compartilha código! desenhar() testar() desenhar() testar() 20
21 Polimorfismo Permite tratar objetos de classes derivadas como objetos das classes ascendentes Habilidade dos objetos de Pertencerem a diferentes tipos Para responder chamadas de métodos com o mesmo nome Cada um com uma implementação específica ao tipo Cliente não sabe o tipo exato do objeto Implementação em tempo de execução (late binding) Objetos precisam apresentar interface compatível com seus clientes 21
22 Relacionamentos Comunicação entre objetos Requer relacionamento entre eles Tipos de relacionamento Herança Associação Agregação Composição Dependência Delegação Seqüência de comunicação entre objetos Para a realização de um serviço 22
23 Relacionamentos entre Classes Herança Relacionamento entre itens gerais (superclasse) e itens mais específicos (subclasses). Associação Objetos de uma classe vinculados a objetos de outra classe Por exemplo: no DAR de uma universidade, existem associações entre Turma e Aluno, Professor e Disciplina Agregação Indica um relacionamento todo-parte Um objeto parte pode fazer parte de vários objetos todo Por exemplo: Pedido e Item, Universidade e Curso 23
24 Relacionamentos entre Classes Composição Variante semanticamente mais forte da agregação Objetos parte só pertencem a um único todo Têm o tempo de vida coincidente com o todo Por exemplo: Notebook e Teclado, Window e Frame Dependência Utilização entre dois itens A alteração do item independente pode afetar o item dependente Por exemplo: Cliente e Fornecedor 24
25 Conceitos de Orientação a Objetos em Java
26 Classes em Java Modelo que define as variáveis e os métodos comuns a todos os objetos de um certo tipo 26
27 Classes em Java Classe anterior contém o código que implementa o ciclo de vida dos objetos instanciados a partir da classe Construtores Inicializam de novos objetos Variáveis Mantém o estado da classe e de seus objetos Métodos Implementam o comportamento da classe e de seus objetos Possibilidade de especificar outras informações Nome de uma possível superclasse Implementação de interfaces Se a classe pode ser herdada 27
28 Classes em Java Elemento public abstract final class NameOfClass extends Super implements Interfaces { ClassBody } Obrigatório X X Função Publicamente acessível Não pode ser instanciada Não pode ter subclasses Nome da classe Superclasse Interfaces implementadas Funcionalidade da classe 28
29 Classes em Java public Classe pode ser usada por qualquer outra classe Sem public : pode ser usada somente por classes no mesmo pacote abstract Especifica classe abstrata Não é possível criar uma instância Exemplo: abstract class Number, class Integer e class Float final Nãopodepossuirsubclasses Exemplo: String extends Super Identifica Super como superclasse implements Interfaces Enumera interfaces implementadas 29
30 Interfaces de Java Coleção nomeada de definições de métodos Sem respectivas implementações Interfaces X Classes Abstratas interface não pode implementar métodos, classe abstrata pode classe pode implementar muitas interfaces, não pode ter mais que uma superclasse interface não é parte da hierarquia de classes classes não-relacionadas podem implementar a mesma interface 30
31 Herança em Java 31
32 Herança em Java classe Object topo da hierarquia de classes Toda classe é descendente Comportamentos compartilhados por todos os objetos executados na JVM variável Object Pode armazenar uma referência para qualquer objeto Classe ou vetor Exemplo Classes herdam o método tostring da classe Object Retorna representação em string para um objeto 32
33 Polimorfismo em Java Presente em todas chamadas de métodos Objeto a referencia objeto b Realiza chamada b.m() Pode ser executado de várias formas Depende do tipo de b class A { void façaalgo() { //O objeto "a" cria o objeto "b" Gritador b; if(...) { b = new Humano(); } else { b = new Macaco(); } b.grita(); // chamada polimórfica } } 33
34 Polimorfismo em Java class A { void façaalgo() { // O objeto "a" recebe o objeto "b" de um objeto "c. // "c" é um objeto qualquer para o qual se tem referência. Gritador b = c.medêumgritador(); b.grita(); // chamada polimórfica } } class A { //O objeto "a" recebe o objeto "b" numa chamada de método. void façaalgo(gritador b) { b.grita(); // chamada polimórfica } } 34
35 Polimorfismo em Java Polimorfismo existe em chamadas a métodos definidos em interfaces e superclasses interface Gritador { } void grita(); class Humano implements Gritador { } public void grita() { } System.out.println("AAHHAAHHAAHHA"); // Me Tarzan! class Macaco implements Gritador { } public void grita() { } System.out.println("IIHIIHHIIHHII"); // Me Cheetah! 35
36 Polimorfismo em Java A herança de implementação Também permite fazer polimorfismo Permite criar classes que implementem o mesmo tipo class UmGritador { public void grita() { System.out.println("Buuuuu"); } } class Humano extends UmGritador { public void grita() { System.out.println("AAHHAAHHAAHHAA"); } } Subclasse Humano Faz override (redefine) alguns métodos Decidiu gritar de forma diferente! 36
37 Polimorfismo em Java Melhor: Herança de tipo ou Herança de implementação? Herança de tipo para fazer polimorfismo (Preferível) Herança de implementação para fatorar código comum entre várias classes Em outras palavras: defina comportamentos ("ser um gritador") com tipos abstratos (interfaces) e use-os no polimorfismo defina implementações ( como gritar ) com classes e use superclasses para fatorar implementações comuns 37
38 Relacionamentos entre Classes em Java Herança implements (herança de tipo) extends (herança de implementação) Associação Declaração de atributos. Se atributo é coleção: agregação ou composição de objeto class Disciplina{ Professor professor;... } Associação Simples class Professor{ Collection disciplinas;... } Agregação 38
39 Relacionamentos entre Classes em Java Dependência Classe utiliza outra somente como parâmetro de entrada na assinatura de ao menos uma de suas operações Classe utiliza outra somente como variável local de ao menos um de seus métodos class Universidade{ Collection departamentos;... } Agregação class Universidade{... getdisciplinas(departamento d)... } Dependência 39
40 Aplicação ClickMeApp ClickMeApp: Componente GUI chamado ClickMe Círculo aparece quando clicamos com o mouse dentro da área do componente ClickMe Classe ClickMeApp, ClickMe e Spot são compiladas Outras classes fornecidas por Java são utilizadas 40
41 ClickMeApp: Classe Spot 41
42 ClickMeApp: Classe ClickMe 42
43 ClickMeApp: Classe ClickMe 43
44 ClickMeApp: Classe ClickMe 44
45 ClickMeApp: Classe ClickMeApp 45
46 ClickMeApp: Classe ClickMeApp 46
47 API Orientada a Objetos de Java Hierarquia de Collections
48 Introdução Coleção Objeto que agrupa múltiplos elementos em uma única unidade Armazena, recupera e manipula dados agregados Representa itens de dados que formam um grupo natural Como uma caixa de s ou uma lista telefônica Implementações de coleção em versões Java pré-1.2 Incluíam Vector, Hashtable e Array Não existia ainda um framework de coleções 48
49 Framework de Coleções Arquitetura unificada para representar e manipular coleções Interfaces Tipos abstratos de dados que representam coleções Coleções são manipuladas independentemente da representação Implementações Implementações concretas das interfaces de coleção Estruturas de dados reusáveis Algoritmos Métodos que realizam computações úteis Exemplo: busca e ordenação sobre objetos que implementam as interfaces de coleção Ditos polimórficos mesmo método pode ser usado em diferentes implementações da interface de coleção apropriada Funções reusáveis 49
50 Interfaces Hierarquia de diferentes tipos de coleções Permitem a manipulação de dados independentemente da representação Set é um tipo especial de Collection SortedSet éum tipode Set Hierarquia consiste de duas árvores diferentes Map não é um Collection verdadeiro 50
51 Interfaces Interfaces de coleção são genéricas public interface Collection<E>... <E> significa que a interface é genérica Declaração de instância de Collection Especificar o tipo de objeto contido na coleção List<String> list = new ArrayList<String>(); Permite verificação em tempo de compilação Tipo de objeto a ser armazenado na coleção está correto 51
52 Interfaces Collection Set List Raiz da hierarquia de coleções Usada quando uma generalidade máxima é necessária Java não provê implementações diretas desta interface Coleção que não pode conter elementos duplicados Modela a abstração matemática de conjuntos Exemplo: processos executando em uma máquina Chamada de seqüência, é uma coleção ordenada Pode conter elementos duplicados. O usuário de List pode controlar a posição em que um elemento é inserido e acessa elementos através de um índice Noção de vetores 52
53 Interfaces Queue Coleção de elementos com prioridades associadas Provê operações de inserção, extração e inspeção Tipicamente ordena elementos no esquema FIFO Entre as exceções, estão as filas de prioridade Map Objeto que mapeia chaves e valores Não pode conter chaves duplicadas Corresponde ao uso de Hashtables SortedSet Set com elementos em ordem ascendente SortedMap Map com chaves em ordem ascendente 53
54 Interface Collection: Operações public interface Collection<E> extends Iterable<E> { //Basic operations int size(); boolean isempty(); boolean contains(object element); boolean add(e element); //optional boolean remove(object element); //optional Iterator iterator(); //Bulk operations boolean containsall(collection<?> c); boolean addall(collection<? extends E> c); //optional boolean removeall(collection<?> c); //optional boolean retainall(collection<?> c); //optional void clear(); //optional //Array operations Object[] toarray(); <T> T[] toarray(t[] a); } 54
55 Interface Collection: Iterador Iterador Permite percorrer uma coleção e remover elementos seletivamente. public interface Iterator<E> { } boolean hasnext(); E next(); void remove(); //optional hasnext() retorna true se a iteração possui mais elementos next() retorna o próximo elemento na iteração. remove() remove o último elemento retornado pelo next() pode ser chamado somente uma vez por next() levanta exceção caso a regra seja violada 55
56 Interface Collection: Iterador Como usar um Iterator para filtrar uma coleção Remove elementos específicos. static void filter(collection c) { for (Iterator i = c.iterator(); i.hasnext(); ) if (!cond(i.next())) i.remove(); } Código acima é polimórfico funciona para qualquer Collection sem levar em conta a implementação! 56
57 Interface Collection e Arrays Métodos toarray são providos como uma ponte entre coleçõese APIs antigasbaseadasemarrays Forma mais simples cria um novo array de Object Forma complexa permite que o chamador especifique o tipo Suponha que c é um Collection; então o uso mais simples: Object[] a = c.toarray() Sabe-se que c contém strings; então a forma complexa: String[] a = c.toarray(new String[0]) 57
58 Interface Set: Implementações Implementa a abstração matemática de conjuntos Contém somente métodos herdados de Collection Adiciona a restrição de que duplicações não são possíveis Três implementações de Set: HashSet elementos em uma tabela hash melhor performance nenhuma garantia quanto à ordem de iteração TreeSet elementos em uma árvore vermelho-preto substancialmente mais lento que HashSet ordena elementos baseados em seus valores. LinkedHashSet elementos em uma tabela hash associada a uma lista encadeada apenas um pouco mais lento que HashSet ordena elementos por ordem de inserção 58
59 Interface Set: Operações public interface Set<E> extends Collection<E> { //Basic operations int size(); boolean isempty(); boolean contains(object element); boolean add(e element); //optional boolean remove(object element); //optional Iterator iterator(); //Bulk operations boolean containsall(collection<?> c); boolean addall(collection<? extends E> c); //optional boolean removeall(collection<?> c); //optional boolean retainall(collection<?> c); //optional void clear(); //optional //Array operations Object[] toarray(); <T> T[] toarray(t[] a); } 59
60 Interface Set: Operacões Adaptação de métodos Collection para Set ( s é um Set): s.size(): retorna a cardinalidade de s ; s.isempty(): retorna um booleano indicando se s é {}; s.add(e): adiciona elemento especificado a s se este não está presente e retorna booleano indicando se houve adição; s.remove (Object): remove elemento especificado de s e retorna booleano indicando se houve remoção; s.iterator(): retorna um Iterator de s; s1.containsall(s2): retorna true se s2 é subconjunto de s1; s1.addall(s2): transforma s1 na união de s1 e s2; s1.retainall(s2): transforma s1 na interseção de s1 e s2; s1.removeall(s2): transforma s1 na diferença entre s1 e s2; s.toarray(): o mesmo que para Collection. 60
61 Interface Set: Exemplo import java.util.*; public class FindDups { public static void main(string args[]) { Set<String> s = new HashSet<String>(); for (String a : args) if (!s.add(a)) System.out.println("Duplicate: " + a); System.out.println(s.size()+" distinct words: "+s); } } Toma palavras em args[] e imprime uma mensagem que indica se há duplicação de palavras o número de palavras distintas lista das plavras duplicadas eliminadas 61
62 Interface Set: Exemplo Código sempre Refere-se ao Collection por Set (interface) Em vez de HashSet (implementação) Prática é fortemente recomendada Torna possível flexibilizar a mudança de tipo de implementação apenas pela mudança do construtor Se variáveis referentes a uma coleção ou a parâmetros usados são declarados a partir de tipos de implementação Todas elas deverão também ser modificadas Isto vale para o uso de interfaces e implementações em geral! 62
63 Interface Set: Exemplo Saída do programa java FindDups i came i saw i left : Duplicate: i Duplicate: i 4 distinct words: [i, left, saw, came] HashSet não dá garantias quanto à ordem dos elementos no Set Para obter as palavras em ordem alfabética, basta modificar HashSet para TreeSet Nova saída para java FindDups i came i saw i left Duplicate word: i Duplicate word: i 4 distinct words: [came, i, left, saw] 63
64 Interface Set: Exemplo import java.util.*; public class FindDups2 { public static void main(string args[]) { Set<String> uniques = new HashSet<String>(); Set<String> dups = new HashSet<String>(); for (String a : args) if (!uniques.add(a)) dups.add(a); uniques.removeall(dups); System.out.println("Unique words: " + uniques); System.out.println("Duplicate words: " + dups); } } Nova saída para java FindDups2 i came i saw i left : Unique words: [left, saw, came] Duplicate words: [i] 64
65 Interface List: Implementações List Collection ordenado Pode conter duplicações List inclui as seguintes operações (além das de Collection) acesso posicional manipulação de elementos baseada na posição numérica destes na lista busca procura por um objeto especificado na lista e retorna sua posição numérica Iteração extende a semântica de Iterator, a fim de tirar vantagem da natureza seqüencial da lista de intervalo operações em intervalos arbitrários da lista Implementações para List ArrayList (possui a melhor performance) LinkedList 65
66 Interface List: Operações public interface List<E> extends Collection<E> { //Positional access E get(int index); E set(int index, E element); //optional boolean add(e element); //optional void add(int index, E element); //optional E remove(int index); //optional abstract boolean addall(int index, Collection<? extends E> c); //optional //Search int indexof(object o); int lastindexof(object o); //Iteration ListIterator<E> listiterator(); ListIterator<E> listiterator(int index); //Range-view List<E> sublist(int from, int to); } 66
67 Interface List: Operações Operações herdadas de Collection têm a mesma semântica Apenas remove() sempre remove a primeira ocorrência na lista do elemento especificado Operações add e addall sempre adicionam os novos elementos no final da lista. Operações posicionais get, set, add e remove têm a mesma semântica de operações em vetores. set e remove retornam valor antigo sobrescrito ou removido addall insere elementos começando na posição especificada Operações de busca indexof e lastindexof têm a mesma semântica de operações em vetores 67
68 Interface List: Operações Operações de iteração List provê um iterator sofisticado que permite percorrer a lista em ambas direções modificar a lista durante a iteração obter posição do iterador public interface ListIterator<E> extends Iterator<E> { boolean hasnext(); E next(); boolean hasprevious(); E previous(); int nextindex(); int previousindex(); void remove(); //optional void set(e o); //optional void add(e o); //optional } 68
69 Interface List: Operações Operações de intervalo sublist(int fromindex, int toindex) retorna uma visão de List que corresponde ao intervalo que vai de fromindex, inclusive, para a toindex, exclusive. 69
70 Exercícios Implementar um programa utilizando coleções Dar preferência ao uso das coleções List e Map Torne possível a reusabilidade, desenvolvendo o programa de forma que a mudança de implementação de uma coleção possa ser realizada rapidamente 70
71 Persistência JDBC
72 Introdução JDBC (Java Database Connectivity) Biblioteca de classes Java Faz conexão com bancos de dados (BDs) relacionais desenvolvidos por Microsoft, Sybase, Oracle, Informix, etc. Driver Ponte para um banco de dado relacional fornecido por uma empresa Driver JDBC ponte entre o JDBC e um banco de dado relacional fornecido por uma empresa Gerenciador de Drivers controla os drivers exigidos para o acesso aos registros de BDs, o que permite a independência de JDBC dos formatos BDs 72
73 Introdução Driver JDBC como ponte para a fonte de dados Possível recuperar e armazenar dados diretamente da linguagem Java Biblioteca JDBC também é um driver especial Liga a outro padrão de conectividade de BDs chamado ODBC ODBC (Open Data Base Connectivity) Biblioteca da Microsoft para o acesso a BDs SQL Gerenciado pelo ODBC Data Source Administrator Ponte JDBC-ODBC Conversão de chamadas JDBC para chamadas ODBC 73
74 Introdução 74
75 Introdução Start -> Settings -> Control Panel -> ODBC Data Sources 75
76 Visão Geral Uso JDBC (com ou sem ODBC) Não há necessidade de adaptação a formatos específicos de BDs existem drivers que fazem o acesso direto aos BDs a linguagem SQL (padrão!) é utilizada no código JDBC inclui classes para cada uma das tarefas que costumam ser associadas à utilização de BDs estabelecimento de uma conexão com um banco de dados criação de uma consulta usando SQL execução da consulta SQL no banco de dados exibição dos registros resultantes Classes que usam JDBC Seguem o conhecido modelo de programação com instruções SQL 76
77 Visão Geral Configuração de dados Duas alternativas ponte JDBC-ODBC driver JDBC Uso da ponte JDBC-ODBC driver JDBC-ODBC incluído com a linguagem Java 2: sun.jdbc.odbc.jdbcodbcdriver; driver ODBC; fonte de dados ODBC associada ao driver anterior usando o software ODBC Data Source Administrator Uso de driver JDBC obter e instalar o driver (não está incluído em Java!) associar uma fonte de dados ao driver JDBC 77
78 Usando JDBC-OBDC: Fontes de Dados Todas as fontes de dados ODBC devem receber um nome descritivo curto Este nome é usado em Java para estabelecer uma conexão com o banco de dados a que a fonte se refere 78
79 Usando JDBC-OBDC: Fontes de Dados 79
80 Usando JDBC-OBDC: Fontes de Dados 80
81 Usando JDBC-OBDC: Fontes de Dados 81
82 Usando JDBC-OBDC: Fontes de Dados 82
83 Usando JDBC-OBDC: Fontes de Dados 83
84 Usando JDBC-OBDC: Exemplo 84
85 Usando JDBC-OBDC: Exemplo Entrada do programa: Poland Saída do programa: 85
86 Usando um Driver JDBC: Fontes de Dados Alguns drivers JDBC estão disponíveis para avaliação O JDataConnectServer da NetDirect está disponível para download de teste a partir do endereço JDataConnectServer usa o ODBC Data Source Administrator para criar uma nova fonte de dados associada a um banco de dados 86
87 Usando um Driver JDBC: Exemplo 87
88 Usando um Driver JDBC: Exemplo Antes que o programa seja executado com êxito, JDataConnectServer precisa ser iniciado A referência a localhost:1150 significa localhost nome da máquina que atua como servidor (a máquina local, neste caso) 1150 número de porta padrão em que o servidor JDataConnect é executado JDataConnectServer pode ser usado em servidores remotos na Internet localhost poderia ser substituído por um endereço na Internet 88
89 JDBC: Carregando Drivers Se a ponte JDBC-ODBC é usada Seguinte linha de código carrega o driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Driver JDBC Documentação indica o nome a ser usado Se o nome do driver é jdbc.driverxyz, então a seguinte linha carrega o driver: Class.forName("jdbc.DriverXYZ"); Não é necessário criar uma instância do driver Chamada Class.forName faz isso automaticamente Após o carregamento Driver está disponível para efetuar conexões com um BD 89
90 JDBC: Estabelecendo a conexão Forma geral para o estabelecimento de uma conexão Connection con = DriverManager.getConnection(url, "mylogin", "mypassword"); Se a ponte JDBC-ODBC é usada url começa por jdbc:odbc: Resto da url é o nome da fonte de dados fonte ODBC chamada Fred : jdbc:odbc:fred. "mylogin: nome usado para logar no BD mypassword : senha Se nome e a senha são Fernanda e J8 String url = "jdbc:odbc:fred"; Connection con = DriverManager.getConnection(url, "Fernanda", "J8"); 90
91 JDBC: Estabelecendo a conexão Se um driver JDBC é usado Documentação indica qual subprotocolo usar O que colocar após jdbc: na url Se acme é o subprotocolo, a url será jdbc:acme:. Documentação fornece outras diretivas se necessário Última parte da url identifica a fonte de dados Retorno do método DriverManager.getConnection Conexão aberta para a criação de comandos JDBC Comandos contêm instruções SQL a serem efetuadas sobre um BD 91
92 JDBC: Criando comandos Objeto Statement Pode enviar um comando SQL ao gerenciador de BD Para criar um objeto Statement, é necessária uma instância de uma conexão ativa Na linha a seguir, um objeto Connection chamado con é usado para criar um comando Statement stmt : Statement stmt = con.createstatement(); Após a criação de um objeto Statement Deve ser executado sobre ele o comando SQL apropriado Para um comando SELECT, o método de Statement usado é executequery Para comandos que criam ou modificam tabelas, o método a usar é executeupdate createtablecoffees = "CREATE TABLE COFFEES " + "(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, " + "SALES INTEGER, TOTAL INTEGER) ; stmt.executeupdate(createtablecoffees); 92
93 JDBC: Recuperando valores JDBC Retorna o resultado de um comando em um objeto ResultSet Linha a seguir Declara o objeto ResultSet rs e assinala o resultado do comando stmt a rs ResultSet rs = stmt.executequery( "SELECT COF_NAME, PRICE FROM COFFEES"); O objeto ResultSet rs contém linhas de cafés e preços Método next move o cursor no objeto para a próxima linha Sucessivas invocações de next movem o cursor uma linha por vez do início ao fim de rs 93
94 JDBC: Recuperando valores O método getxxx recupera o valor de cada coluna. Primeira coluna em cada linha de rs é COF_NAME (armazena um valor de tipo SQL VARCHAR) Método para recuperação de um VARCHAR é getstring Segundacolunaarmazenaum valor de tiposql FLOAT Método para recuperação de valores FLOAT é getfloat. Linha de código que acessa os valores armazenados na linha corrente de rs e imprime cada linha com o nome seguido por três espaços e o preço String query = "SELECT COF_NAME, PRICE FROM COFFEES"; ResultSet rs = stmt.executequery(query); while (rs.next()) { String s = rs.getstring("cof_name"); float n = rs.getfloat("price"); System.out.println(s + " " + n); } 94
95 JDBC: Resumo 95
96 Exercícios Implemente um programa que usa a biblioteca JDBC para: estabelecer uma conexão com uma fonte de dados; criar tabelas em um banco de dados associado à fonte; inserir dados nos campos das tabelas criadas; executar consultas no banco de dados usando SQL; exibir os registros recuperados através de consulta. Para fazer o exercício, use o tutorial da Sun sobre JDBC. 96
97 Referências [1] Tutorial da Sun Microsystems. 97
API e Coleções Java. Sérgio Luiz Ruivace Cerqueira
API e Coleções Java Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java API Introdução API Endereço http://download.oracle.com/javase/6/docs/api/ API - Descrição API - Resumo API - Detalhes Coleções
Leia maisPRDS - Programa de Residência em Desenvolvimento de Software
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena lucena@inf.puc-rio.br Rodrigo Paes rbp@les.inf.puc-rio.br Gustavo Carvalho
Leia maisBanco 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 maisAula 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 maisBSI UFRPE Prof. Gustavo Callou gcallou@gmail.com
BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com Coleções List Set Map Classes e interfaces do pacote java.util que representam listas, conjuntos e mapas. Solução flexível para armazenar objetos. Quantidade
Leia maisLaborató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 maisAcesso 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 maisColeções Avançadas. Programação Orientada a Objetos Java. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
Coleções Avançadas Programação Orientada a Objetos Java Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender como o conceito de coleção pode ser expresso de forma genérica Examinar
Leia maisIntegrando 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 maisProgramaçã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 maisProgramação Orientada a Objetos. Encapsulamento
Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências
Leia maisProgramaçã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 maisTécnicas de Programação Avançada TCC- 00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br
Técnicas de Programação Avançada TCC- 00.174 Prof.: Anselmo Montenegro www.ic.uff.br/~anselmo anselmo@ic.uff.br Conteúdo: Coleções Material elaborado com contribuição do Professor Luiz André Coleções Uma
Leia maisColeções. Page 1. Coleções. Prof. Anderson Augustinho Uniandrade
Page 1 podem ser comparadas com arrays, visto que também apresentam a capacidade de armazenar referências para vários objetos. Entretanto, as coleções apresentam uma gama de funcionalidades bem maior do
Leia maisJava & 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 maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Classes abstratas Interfaces Tipos genéricos Coleções Classes abstratas São classes que não podem ser instanciadas, porque representam
Leia maisBanco 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 maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisManipulação de Banco de Dados com Java 1. Objetivos
Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A
Leia maisJDBC (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 maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Classes abstratas Interfaces Tipos genéricos Coleções Introdução GUI Classes abstratas São classes que não podem ser instanciadas,
Leia maisDSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10
Universidade do Minho Departamento de Informática Aplicações Multi-camada JDBC Aula 3 António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jose.campos@di.uminho.pt 2 Programação
Leia maisIntrodução à Programação. Interface, Polimorfismo e Dynamic Binding
Introdução à Programação Interface, Polimorfismo e Dynamic Binding Interface Programador Java PLENO Possuir sólida experiência em programação Desenvolvimento na linguagem JAVA Webservice, Struts ou JSF(desejável)
Leia maisDSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.
Universidade do Minho Departamento de Informática Camada de Dados - JDBC Aula 1 António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.pt 2 Camada de Dados A camada
Leia maisJava Util Collections - Interfaces Interfaces definidas
Java Util Collections - Interfaces Interfaces definidas 245 Collection Raiz da hierarquia Grupo mais genérico de elementos Não garante nas implementações Duplicatas Ordenação Não possui nenhuma implementação
Leia maisLaboratório de Programação. Aula 13 Java 5COP088. Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr barbon@uel.
5COP088 Laboratório de Programação Aula 13 Genéricos e Conjuntos Java Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Métodos hashcode(), equals() e tostring(); 2) Conjuntos; 3) Genéricos; 4) Resumo. 2 1)
Leia maisPadrã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 maisCurso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Leia maisEXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Leia maisProgramaçã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 maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisCapítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo
Leia maisJDBC Java Database Connectivity
5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia maisCurso 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 maisJDBC 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 maisTécnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Leia maisNoções de. Microsoft SQL Server. Microsoft SQL Server
Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados
Leia maisColeções em Java. Prof. Gustavo Willam Pereira ENG10082 Programação II. Créditos: Prof. Clayton Vieira Fraga Filho
Coleções em Java Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Introdução O que é uma coleção? Um objeto que agrupa múltiplos elementos em uma única unidade
Leia maisINTRODUÇÃ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 maisProgramação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisJAVA JDBC COMO FUNCIONA. Programação Orientada a Objetos Flávio de Oliveira Silva 315. Programação Orientada a Objetos Flávio de Oliveira Silva 316
JAVA JDBC 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 OBDC O ODBC (Open Database
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisParadigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33
PPROG Paradigmas da Programação Linguagem JAVA Interfaces (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33 PPROG Motivação para usar Interfaces Definição de Interface
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisLista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisProgramação Orientada a Objetos em java. Polimorfismo
Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Leia maisPersistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisUML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Leia maisTópicos em Engenharia de Computação
Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas
Leia maisSumário. Uma visão mais clara da UML
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisFernando 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 maisOrientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Leia maisAcesso 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 maisProgramação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
Leia maisPolimorfismo. Prof. Leonardo Barreto Campos 1
Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisDado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:
MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação
Leia maisJDBC. 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 maisColeções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS
Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado
Leia maisPadrão Básico de Projeto: Herança versus Composição
Padrão Básico de Projeto: Herança versus Composição Composição e Herança Composição e herança são dois mecanismos para reutilizar funcionalidade Alguns anos atrás (e na cabeça de alguns programadores ainda!),
Leia maisProfº. Enrique Pimentel Leite de Oliveira
Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam
Leia maisDiagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisIntrodução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos
Introdução Banco de Dados Por que usar BD? Vitor Valerio de Souza Campos Adaptado de Vania Bogorny 4 Por que estudar BD? Exemplo de um BD Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Servidor de Aplicações WEB Tomcat Servidor Tomcat Foi desenvolvido
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisBanco de Dados. Prof. Leonardo Barreto Campos 1
Banco de Dados Prof. Leonardo Barreto Campos 1 Sumário Introdução; Banco de Dados Relacionais; SQL; MySQL; Manipulando Banco de Dados com o JDBC; Bibliografia; Prof. Leonardo Barreto Campos 2/25 Introdução
Leia maisCurso de Java Módulo III JDBC Fábio Mengue fabio@unicamp.br Centro de Computação - Unicamp
Curso de Java Módulo III JDBC Fábio Mengue fabio@unicamp.br Centro de Computação - Unicamp Conceitos A tecnologia JDBC foi criada para facilitar o acesso de programas Java a qualquer banco de dados relacional.
Leia maisProgramação Orientada a Objetos em Java. Herança
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados
Leia maisJava 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 maisManipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2
Desenvolvimento Web III Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2 Prof. Mauro Lopes 1-31 21 Objetivos Nesta aula iremos trabalhar a manipulação de banco de dados através
Leia maisHoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.
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 Hoje é
Leia maisAndroid 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 maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia mais(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 maisDESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA
Introdução ao Visual Studio VB.Net Programação Estruturada 1 Nesse momento inicial não iremos programar em VB.Net, usando o Visual Studio, mas conhecer alguns comandos e variáveis usadas em uma linguagem
Leia maisINF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena
INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena Trabalho Experimental Sistema de Gestão Hoteleira 1. Objetivo Este trabalho tem o objetivo de consolidar o conhecimento sobre UML e
Leia maisUML: Diagrama de Casos de Uso, Diagrama de Classes
UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema
Leia maisJava. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Leia maisAcessando bancos de dados com o JDBC
Acessando bancos de dados com o JDBC Notas de Aula: Java Como Programar, 8/E Prof. Geraldo Braz Junior Introdução Um banco de dados é uma coleção organizada de dados. Um sistema de gerenciamento de bancos
Leia maisIntrodução Banco de Dados
Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisPadrão Básico de Projeto: Interfaces e Polimorfismo
Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação
Leia maisUML: Diagrama de Classes
UML: Diagrama de Classes UML Diagrama de Classes Introdução Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula Introdução - Diagrama de Classes Mostra um conjunto de classes
Leia maisUnidade IV: Ponteiros, Referências e Arrays
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 maisJava Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
Leia maisComandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Leia maisIntrodução ao PHP. Prof. Késsia Marchi
Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext
Leia mais