programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo...
TRANSCRIPT
![Page 1: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/1.jpg)
Conceitos de SGBD Objeto-Relacional Oracle 10g [2]
![Page 2: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/2.jpg)
Métodos
![Page 3: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/3.jpg)
Métodos
Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo
Tipos de métodos Member Static Constructor Comparison (Map e Order)
![Page 4: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/4.jpg)
Member Function
Métodos que possuem acesso aos dados da instância do objeto
Self - representa a instância do tipo no qual o método é atualmente chamado
Na declaração de um tipo são definidas as assinaturas dos métodos
O corpo dos métodos deve ser criado em alguma linguagem de programação (PL/SQL, Java, C++)
![Page 5: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/5.jpg)
Exemplo
CREATE TYPE T_PESSOA AS OBJECT ( NOME VARCHAR2(30), TELEFONE VARCHAR2(20), IDADE NUMBER(2), MEMBER FUNCTION GET_IDADE_PLUS RETURN NUMBER );
CREATE OR REPLACE TYPE BODY T_PESSOA AS MEMBER FUNCTION GET_IDADE_PLUS (INC NUMBER)
RETURN NUMBER IS
BEGIN RETURN SELF.IDADE + INC; END GET_IDADE_PLUS; END;
![Page 6: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/6.jpg)
Constructor Method
Método que cria uma nova instância para o objeto, atribuindo valores aos seus atributos. Trabalha com dados globais do tipo de objeto e não com a instância (não se utiliza a palavra-chave SELF)
Todo object type possui um método construtor, que é implícito e definido pelo sistema
O nome do método construtor é o mesmo do object type
![Page 7: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/7.jpg)
Exemplo
CREATE TYPE Customer_typ AS OBJECT (
id NUMBER, name VARCHAR2(20), phone VARCHAR2(30) );
cust = Customer_typ(103, 'Ravi', '555-1212')
![Page 8: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/8.jpg)
Comparison Methods
Valores de tipos de dados primitivos como CHAR ou REAL possuem uma ordem predefinida, permitindo compará-los
Object type possui múltiplos atributos de diferentes tipos de dados, não possuindo um eixo definido de comparação Map Order
![Page 9: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/9.jpg)
Map Method
Permite comparar objetos, mapeando as instâncias dos objeto sem um dos tipos escalares DATE, NUMBER, VARCHAR2
![Page 10: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/10.jpg)
Exemplo
CREATE TYPE Retangulo_tipo AS OBJECT (larg NUMBER, comp NUMBER, MAP MEMBER FUNCTION area RETURN NUMBER);
CREATE TYPE BODY Retangulo_tipo ASMAP MEMBER FUNCTION area RETURN NUMBER IS BEGIN RETURN larg * comp; END area;END;
![Page 11: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/11.jpg)
Order Function
Realiza comparações object-to-object É função que possui um parâmetro
declarado para outro objeto do mesmo tipo e retorna < 0, caso o objeto SELF seja menor que o
objeto passado como argumento 0, caso sejam iguais > 0, caso o objeto SELF seja maior que o
objeto passado como argumento
![Page 12: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/12.jpg)
Manipulação de Consultas
![Page 13: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/13.jpg)
Comando REF
REF - Retorna referência OID(object id) a uma instância da object table
Um objeto do tipo REF encapsula uma referência para um “row object” de um tipo de objeto especificado;
O valor de um objeto do tipo REF é um “ponteiro lógico” para um row object.
![Page 14: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/14.jpg)
Comando REF (exemplo)
Cadastre um sócio no banco e a relacione com o endereço cujo código é 1, supondo que o endereço foi criado previamente.INSERT INTO endereco (codigo_end, rua, cep,
numero, bairro) VALUES (1,'a','123',2222,'espinheiro');
INSERT INTO socio (codigo, rg, nome, ref_endereco, tipo_socio, datacadastro)VALUES (123456789,'6396327','coxinha',(select REF(e) from endereco e where e.codigo_end = 1),'titular',to_date('14/08/1986','dd/mm/yyyy'));
![Page 15: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/15.jpg)
Comando REF (exercício)
Selecionar todos os atributos de endereço que possuem alguma relação com sócio
![Page 16: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/16.jpg)
Comando DREF
DEREF - Retorna instância de objeto correspondente ao REF
O operador DEREF executa a função oposta de REF — recebe um valor de referência e retorna o valor de um “row object”. O DEREF toma como argumento o OID gerado para uma referência.
![Page 17: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/17.jpg)
Comando DREF (exemplo)
Faça uma consulta que retorno o endereço do socio com codigo 123456789
select DEREF(s.ref_endereco) from socio s where s.codigo = 123456789;
![Page 18: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/18.jpg)
Comando DREF (exercício)
Mostre todas as informações do endereço cujo código está associado ao sócio com rg igual a 6396327.
![Page 19: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/19.jpg)
Comando Dangling
Verifica a validade de uma referência
Exemplo: Mostre todos os socios que possuem
endereços com referências inválidas.
SELECT * FROM socio s WHERE s.ref_endereco IS
DANGLING;
![Page 20: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/20.jpg)
Comando Dangling (exercício)
Mostre todos os sócios que possuem endereços válidos e que moram no espinheiro.
![Page 21: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/21.jpg)
Comando WITH ROWID
Melhor desempenho, pois fornece acesso direto ao objeto
Exemplo: Tabela tb_socio_exemplo com referencia
a endereçocreate table tb_socio_exemplo of tp_socio( codigo primary key, nome not null, ref_endereco with rowid references endereco);
![Page 22: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/22.jpg)
Comando WITH ROWID (exercício)
Faça uma inserção na tabela acima com um endereço válido.
Após a inserção tente remover o endereço.
![Page 23: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/23.jpg)
Coleções de coleções
![Page 24: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/24.jpg)
Coleção de coleções - Nested com nested
TURMA
ALUNO PROFESSOR
1
n
1 n
![Page 25: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/25.jpg)
Coleção de coleções - Nested com nested
CREATE TYPE PROFESSOR_TYPE AS OBJECT (NOME VARCHAR2(15),DISCIPLINA VARCHAR2(15)
);
//Nested professor_type que será um atributo da tabela
//aluno CREATE TYPE NT_PROF_T AS TABLE OF
PROFESSOR_TYPE;
![Page 26: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/26.jpg)
Coleção de coleções - Nested com nested
//Type aluno possue um conjunto de professores
CREATE TYPE ALUNO_TYPE AS OBJECT(MATRICULA NUMBER,PROFESSORES NT_PROF_T
);
//Nested de aluno, o qual já possue um conjunto como //atributoCREATE TYPE NT_ALUNO_T AS TABLE OF
ALUNO_TYPE;
![Page 27: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/27.jpg)
Coleção de coleções - Nested com nested
CREATE TYPE TURMA_TYPE AS OBJECT (CODIGO VARCHAR2(3),SALA VARCHAR2(3),ALUNOS NT_ALUNO_T
);
CREATE TABLE TURMA_TAB OF TURMA_TYPE (CODIGO PRIMARY KEY
) NESTED TABLE ALUNOS STORE AS ALUNOS_T
(NESTED TABLE PROFESSORES STORE AS PROF_T);
![Page 28: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/28.jpg)
Coleção de coleções - Nested com nested
Sintaxe para inserção de aluno e professor
INSERT INTO TURMA_TAB VALUES('I5A', ‘D005',NT_ALUNO_T(
ALUNO_TYPE(210141500,NT_PROF_T(
PROFESSOR_TYPE(‘Manoel',‘Sistemas Digitais'),PROFESSOR_TYPE(‘Ruy',‘Logica')
) ),
![Page 29: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/29.jpg)
Coleção de coleções - Nested com nested
Sintaxe para inserção de aluno e professor (continuação)
ALUNO_TYPE(210141750,NT_PROF_T(
PROFESSOR_TYPE('Silvio','HFC'),
PROFESSOR_TYPE('Hermano','PLP') ) )
)--nt_aluno_t);--insert
![Page 30: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/30.jpg)
Coleção de coleções - Nested com nested
Sintaxe para inserção apenas de professor
INSERT INTO TABLE( SELECT A.PROFESSORES FROM
TABLE ( SELECT FROM TURMA_TAB T
WHERE T.CODT.ALUNOS IGO = 'I5A‘
) AWHERE A.MATRICULA = 210141750)VALUES (‘Fernando’,’GDI’);
![Page 31: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/31.jpg)
Coleção de coleções - Nested com nested
Atualizando o professor da disciplina Projetão (PD).
UPDATE TABLE( SELECT A.PROFESSORES FROM
TABLE( SELECT T.ALUNOS FROM TURMA_TAB T
WHERE T.CODIGO = 'I5A‘ ) A
WHERE A.MATRICULA = 210141500 ) PSET VALUE(P)=
PROFESSOR_TYPE('Jacques','PD')WHERE P.DISCIPLINA='PD';
![Page 32: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/32.jpg)
Coleção de coleções - Nested com nested
Consulta em tabela aninhada
SELECT P.NOME, P.DISCIPLINAFROM TURMA_TAB T, TABLE(T.ALUNOS) A,
TABLE(A.PROFESSORES) P WHERE T.CODIGO = ‘I5A’ ;
![Page 33: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/33.jpg)
Coleção de coleções - Nested com varray
ALUNO
PROFESSOR
1
n
telefone
nome diciplina
matricula
![Page 34: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/34.jpg)
Coleção de coleções - Nested com varray
Types
![Page 35: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/35.jpg)
Coleção de coleções - Nested com varray
Table
CREATE TABLE tb_aluno OF aluno_tp( CONSTRAINT pk_aluno PRIMARY KEY
(matricula)) NESTED TABLE conj_professores STORE AS
prof_nt;/
commit;/
![Page 36: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/36.jpg)
Coleção de coleções - Nested com varray
Insert com e sem elementos na nested ;
![Page 37: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/37.jpg)
Coleção de coleções - Nested com varray
Consulta
![Page 38: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/38.jpg)
Coleção de coleções - Varray com varray
Um computador possui vários componentes; Cada existem várias marcas diferentes para um componente; Cada marca possui um preço diferente por componente.
CREATE OR REPLACE TYPE tp_marca AS OBJECT ( nome VARCHAR2(20), preco NUMBER); /CREATE OR REPLACE TYPE vr_marca AS VARRAY(10) OF tp_marca;/CREATE OR REPLACE TYPE tp_componente AS OBJECT ( descricao VARCHAR2(40), marcas vr_marca); / CREATE OR REPLACE TYPE vr_componente AS VARRAY(30) OF tp_componente; / CREATE OR REPLACE TYPE tp_computador AS OBJECT ( descricao VARCHAR2(50), componentes vr_componente ); /CREATE TABLE tb_computador OF tp_computador(CONSTRAINT pk_computador PRIMARY KEY (id));
![Page 39: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/39.jpg)
Coleção de coleções - Varray com varray
INSERT INTO tb_computador VALUES( 1, 'Computador ID#1', vr_componente( tp_componente( 'Processador', vr_marca( tp_marca('Intel',1200), tp_marca('AMD', 999) )), tp_componente( 'Placa de Video', vr_marca( tp_marca('NVIDIA', 800), tp_marca('ATI', 700) ))));
![Page 40: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/40.jpg)
Coleção de coleções - Varray com varray
SELECT C.descricao, m.nome, m.preco from tb_computador T, TABLE(T.componentes) C, TABLE(C.marcas) M;
DESCRICAO NOME PRECO---------------------------------------- -------------------- ----------Processador Intel 1200Processador AMD 999Placa de Video NVIDIA 800Placa de Video ATI 700
![Page 41: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/41.jpg)
Conceitos de ConectividadeJDBC
![Page 42: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/42.jpg)
JDBC
Conjunto de interfaces e classes java que faz envio de consultas para um banco de dados.
Objetos(tipos)
Conexão (Driver e Connection)
SQL para JDBC
Midias
![Page 43: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/43.jpg)
JDBC - Tipos
Driver – interface utilizada por toda aplicação que precise acessar um BD.
Connection – conexão com BD. Obtida á partir de um Driver já carregado.
Statement e PreparedStatement –. interfaces que representam as consultas.
ResultSet – interface que recebe o resultado de uma consulta.
![Page 44: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/44.jpg)
JDBC - Driver
Essencial (carregamento obrigatório) para estabelecer uma conexão com BD.
Class.forName (String driver_name) ; -> determina qual drive será usado. Esse comando registra o driver. *no DriverManager (classe responsável pelo gerenciamento de drivers carregados).
*driver_name fornecido pelo provedor do BD. getConnection (String url_driver, String user_bd,
String password_bd) ; -> método que acessa a tabela de drivers (DriverManager) com a url (do driver) passada e depois cria e retorna uma conexão com o BD.
![Page 45: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/45.jpg)
JDBC - Driver e Connection
String user = "eq01"; String password = "equipe1"; String url_driver =
"jdbc:oracle:thin:@itapissuma.cin.ufpe.br:1521:dbdisc";
Class.forName("oracle.jdbc.driver.OracleDriver");
Como dito anteriormente, obtemos uma conexão SOMENTE APÓS registrar um driver no DriveManager.
Connection connection = DriveManager.getConnection(url_driver, user, password) ;
![Page 46: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/46.jpg)
JDBC - Driver e Connection
try { Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection(url, user,
password); } catch (SQLException e) { JOptionPane.showMessageDialog(null,
e.getMessage()); }
connection.commit( );
connection.rollback( );
connection.close( ); *aconteceu comigo. Fiz várias consultas e travou depois de um tempo
![Page 47: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/47.jpg)
JDBC - Statement
Statement -> armazenam consultas que sempre são compiladas antes de serem executadas.
* connection.createStatement(); - retorna um Statement. dml->linguagem de modelagem
(ins,del,upd)ddl ->linguagen de definicao(create, drop)
* statement.executeUpdate(String sql_dml_ddl); - realisa uma operação e retorna a quantidade
de linhas modificadas.
*statement.executeQuery(String sql_select); -realisa uma operação que retorna um ResultSet.
![Page 48: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/48.jpg)
JDBC - Statement e ResultSet
Statement stmt = connection.createStatement();
String sql1 = “SELECT * FROM FROM Fornecedor”;ResultSet rs = stmt.executeQuery(sql1);while(rs.next()){ nome = rs.getString(“NOME”);}
*** rs.getTYPE_NAME();
String sql2 = “INSERT INTO Fornecedor VALUES” + “ (‘123456-7’, ’Info’ )”;stmt.executeUpdate(sql2);
![Page 49: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/49.jpg)
JDBC - PreparedStatement
PreparedStatement- é um Statement que é compilado apenas na primeira execução.
* connection.prepareStatement(String sql); -retorna um PreparedStatement.* **setType_name();
-seta valores onde existe ‘?’ no sql criado.
public static final String INSERIR_FORNECEDOR_1_FONE = “INSERT INTO tb_fornecedor (nome, cnpj, array_tp_fone, ” +
“nt_pedido_fornecedor, nt_produto ) VALUES (?,?,” +
“array_tp_fone(tp_telefone(?,?)), nt_pedido_fornecedor(), nt_produto);” ;
![Page 50: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/50.jpg)
JDBC - PreparedStatement
![Page 51: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/51.jpg)
JDBC - PreparedStatement
![Page 52: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/52.jpg)
JDBC - PreparedStatement
![Page 53: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/53.jpg)
Transformar um arquivo entrada em um stream de entrada
![Page 54: Programas associados aos tipos que fazem computações e podem ter acesso aos atributos do tipo Tipos de métodos Member Static Constructor Comparison](https://reader035.vdocuments.mx/reader035/viewer/2022062512/552fc130497959413d8d4645/html5/thumbnails/54.jpg)
JDBC - Mídia