Você está na página 1de 10

4.

6 Utilizao de Tabelas

4.6 Utilizao de Tabelas

PROGRAMAO ORIENTADA OBJETOS II (POO2)

146

PROGRAMAO ORIENTADA OBJETOS II (POO2)

147

4.6 Utilizao de Tabelas

4.6 Utilizao de Tabelas

PROGRAMAO ORIENTADA OBJETOS II (POO2)

148

PROGRAMAO ORIENTADA OBJETOS II (POO2)

149

4.6 Utilizao de Tabelas

4.6 Utilizao de Tabelas

PROGRAMAO ORIENTADA OBJETOS II (POO2)

150

PROGRAMAO ORIENTADA OBJETOS II (POO2)

151

4.6 Utilizao de Tabelas

4.6 Utilizao de Tabelas

PROGRAMAO ORIENTADA OBJETOS II (POO2)

152

PROGRAMAO ORIENTADA OBJETOS II (POO2)

153

4.6 Utilizao de Tabelas

4.6 Utilizao de Tabelas

PROGRAMAO ORIENTADA OBJETOS II (POO2)

154

PROGRAMAO ORIENTADA OBJETOS II (POO2)

155

4.6 Utilizao de Tabelas

4.6 Utilizao de Tabelas

PROGRAMAO ORIENTADA OBJETOS II (POO2)

156

PROGRAMAO ORIENTADA OBJETOS II (POO2)

157

4.6 Utilizao de Tabelas

3.0 JAVA / bd

PROGRAMAO ORIENTADA OBJETOS II (POO2)

158

PROGRAMAO ORIENTADA OBJETOS II (POO2)

159

3.0 Java / MySql


Noes Gerais:

3.0 Java / MySql


JDBC(Java Database Connectivity) Padro de acesso a BDs relacionais atravs de Java: API comum; Os fabricantes de drivers JDBC implementam aspectos

A aplicao chama a biblioteca JDBC A biblioteca carrega o driver que entende o SGDB Aps, a aplicao pode se conectar e enviar requisies ao SGBD Pacote principal: java.sql
PROGRAMAO ORIENTADA OBJETOS II (POO2)

especficos; Qualquer aplicao Java pode acessar um SGBD atravs do JDBC; JDBC semelhante ao ODBC, mas escrito em Java.
PROGRAMAO ORIENTADA OBJETOS II (POO2)

160

161

3.0 JDBC
5 passos bsicos:
1. 2. 3. 4. 5.

3.1 Primeiro Passo


1.

Registro do driver: O driver registrado automaticamente quando a classe carregada na aplicao; Class.forName("org.postgresql.Driver"); // PostgreSQL Class.forName("com.mysql.jdbc.Driver"); // MySQL Inicializador esttico que registra o driver.

Registrar o driver na aplicao Conectar no SGBD Executar sentenas SQL e procedures Processar o resultado recebido Fechar a conexo

Principais classes da API: DriverManager, Connection, Statement, ResultSet

PROGRAMAO ORIENTADA OBJETOS II (POO2)

162

PROGRAMAO ORIENTADA OBJETOS II (POO2)

163

3.2 Segundo Passo


2.

3.3 Terceiro Passo


3.

Conexo com o SGBD: Aps o registro do driver, precisamos fornecer informaes ao DriverManager para a conexo;
Connection con = DriverManager.getConnection(url, login, senha); url: URL de conexo JDBC jdbc:postgresql://localhost: 5432/cursodb jdbc:mysql://localhost:3306/cursodb login: usurio com direitos de acesso ao banco de dados; senha: senha para autenticao. Sintaxe geral de urls: jdbc:<subprotocol>://<server>:<port>/<database>
PROGRAMAO ORIENTADA OBJETOS II (POO2)

Execuo de sentenas SQL:


Para a execuo de sentenas devemos criar, por exemplo, um Statement e obter o resultado atravs de um ResultSet;
Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(select * from db.empregados);

Neste caso, o resultado armazenado num ResultSet e pode ser percorrido com mtodos definidos nesta classe.

164

PROGRAMAO ORIENTADA OBJETOS II (POO2)

165

3.4 Exemplo

3.4 Exemplo

REGISTRO

Conexo Driver

PROGRAMAO ORIENTADA OBJETOS II (POO2)

166

PROGRAMAO ORIENTADA OBJETOS II (POO2)

167

3.4 Exemplo

3.4 Exemplo

PROGRAMAO ORIENTADA OBJETOS II (POO2)

168

PROGRAMAO ORIENTADA OBJETOS II (POO2)

169

3.4 CONEXO

3.4 CONEXO

PROGRAMAO ORIENTADA OBJETOS II (POO2)

170

PROGRAMAO ORIENTADA OBJETOS II (POO2)

171

3.4 Exemplo
import java.sql.*; import java.sql.Connection; public class Conexao { public static void main(String[] args) { try { // PASSO 1: Class.forName("com.mysql.jdbc.Driver"); // PASSO 2: String url = "jdbc:mysql://localhost:3308/budegadb"; Connection con = DriverManager.getConnection(url, "tiago", "123"); System.out.println("Con :" + con);
PROGRAMAO ORIENTADA OBJETOS II (POO2)

3.4 Exemplo
// PASSO 3: Statement statement = con.createStatement(); ResultSet rs = statement.executeQuery("select *from clientes "); if (rs.first()) { do { System.out.println("Nome:" + rs.getString("nome")); } while (rs.next()); } }
PROGRAMAO ORIENTADA OBJETOS II (POO2)

172

173

3.4 Exemplo
catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
PROGRAMAO ORIENTADA OBJETOS II (POO2)

3.5 Criao de Setenas


Statement: executa consultas simples, sem parmetros Prepared Statement: executa consultas pr-compiladas com ou sem parmetros. PreparedStatement modificaTabela = con.prepareStatement ("UPDATE TABELA SET CAMPO1 = ? WHERE CAMPO2 LIKE ? "); modificaTabela.setInt(1, 75); modificaTabela.setString(2, Sirius); modificaTabela.executeUpdate(); Callable Statement: executa chamadas stored procedures CallableStatement cs = con.prepareCall ("{call NOME_PROC}"); ResultSet rs = cs.executeQuery()
174
PROGRAMAO ORIENTADA OBJETOS II (POO2)

175

4.0 PADRES DE PROJETO


Definio de padres:
Um Parttern descreve um problema que se repete varias vezes em um determinado meio e em seguida descreve o ncleo de solues que pode ser utilizadas varias vezes. Parttens: so solues genricas e reutilizveis aplicados em classes de problemas bem conhecidos. Tipos de padres: arquitetura, conceitual, anlise, codificao, processo, organizao, etc.

4.1 MVC +JAVA SWING


Padro de arquitetura: Model View Controller
Tcnica para separar dados ou lgica de negcios (Model) da interface do usurio (View) e do fluxo da aplicao (Control)

PROGRAMAO ORIENTADA OBJETOS II (POO2)

176

PROGRAMAO ORIENTADA OBJETOS II (POO2)

177

4.1 MVC +JAVA SWING


Padro de arquitetura: Model View Controller
Tcnica para separar dados ou lgica de negcios (Model) da interface do usurio (View) e do fluxo da aplicao (Control) Divide a aplicao em trs partes: modelo, viso e controle. aplicvel para qualquer linguagem orientada a objetos.

4.1 MVC +JAVA SWING


Como funciona ?
1.

2.

3.

No padro MVC o fluxo da aplicao mediado por um controlador central. O controlador delega requisies para os tratadores apropriado no modelo ( Model lgica e estado da aplicao ). A requisio respondida, atravs do controlador e apresenta na viso (View).

PROGRAMAO ORIENTADA OBJETOS II (POO2)

178

PROGRAMAO ORIENTADA OBJETOS II (POO2)

179

4.1 MVC +JAVA SWING


Resumindo : MVC?
1. 2.

4.1 MVC +JAVA SWING


Implementando:
1.

3.

View (Viso): Interface grfica. Model (Modelo): representa as regras e a lgicas de negcio, bem como mantem o estado da aplicao. Controllers(Controladores): traduzem interaes com as vises nas aes a serem executadas pelo modelo.

2.

3.

Primeiros parte a escrever: modelo que deve estender da classe java.util.Observable que permitir que as vises sejam notificadas a respeito de mudanas no modelo. Mtodos da classe Observable: setChanged(true)[modifica o estado do modelos] e notifyObservers()[informar a ao gerada]; A razo pelo qual o modelo deve estender da classe Observable prover uma estrutura de registro/ notificao necessria para implementar o MVC.

PROGRAMAO ORIENTADA OBJETOS II (POO2)

180

PROGRAMAO ORIENTADA OBJETOS II (POO2)

181

8.0 Referncias
DEITEL, H. M.; DEITEL, P. J. Java como programar. 6. ed. So Paulo: Pearson Prentice Hall, 2005. FURGERI, Sergio; JAVA 7 ENSINO DIDTICO. 2.ED. So Paulo: Editora rica, 2012. SIERRA, Kathy; BATES, Bert. Use a cabea! java: pense java: guia de aprendizagem. 2. ed. Rio de Janeiro: Alta Books, 2007. KOLLING, Michael; BARNES, David J. Programao orientada a objetos com java. 4. ed. So Paulo: Pearson Prentice Hall, 2009.

PROGRAMAO ORIENTADA OBJETOS II (POO2)

182

Você também pode gostar