MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA

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

Download "MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA"

Transcrição

1 JOSIEL S. MOURA MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA ORIENTADO A PROJETO: CONTROLE DE ESTOQUE 2012

2

3 JOSIEL S. MOURA MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA ORIENTADO A PROJETO: CONTROLE DE ESTOQUE 2012

4 Sumário INTRODUÇÃO... 3 PADRÃO DAO... 4 ESTUDO DE CASO... 6 Banco de Dados... 6 Entidade... 7 Fornecedor... 7 Produto... 8 Movimento... 9 Dao Conexão Fornecedor Produto Movimento Formulários Principal Fornecedor Produto Entrada Busca de produtos Saída... 35

5 REFENRÊNCIAS BIBLIOGRÁFICAS... 38

6

7 INTRODUÇÃO A ideia de padrões foi apresentada por Christopher Alexander em 1977 no contexto de Arquitetura (de prédios e cidades). Cada padrão descreve um problema que ocorre repetidamente, de novo e de novo, em nosso ambiente, e então descreve a parte central da solução para aquele problema de uma forma que você pode usar esta solução um milhão de vezes, sem nunca implementá-la duas vezes da mesma forma. Um padrão de projeto é uma espécie de gabarito para como resolver um problema, ou melhor dizendo, é uma solução elegante na resolução de problemas. 3

8 PADRÃO DAO A maioria das aplicações empresariais usa normalmente sistemas de gerenciamento de bancos de dados relacional (RDBMS, relational database management system) como armazenamento persistente. Entretanto, estamos trabalhando em Java, que é Orientado a Objeto. Misturar a lógica de persistência com a lógica de aplicação cria uma dependência direta entre a implementação da aplicação e do armazenamento persistente. Tal dependência de código nos componentes torna difícil e maçante migrar a aplicação de um tipo de fonte de dados para outro. Quando as fontes de dados são alteradas, os componentes devem ser modificados para tratar o novo tipo de fonte de dados. Use um Data Access Object (DAO) para abstrair e encapsular todo acesso ao armazenamento persistente. O DAO gerencia a conexão com a fonte de dados para obter e armazenar dados. O DAO funciona como um tradutor dos mundos. O DAO deve saber buscar os dados do banco relacional e converter em objetos para ser usado pela aplicação. Semelhantemente, deve saber como pegar os objetos, converter em instruções SQL e 4

9 mandar para o banco de dados relacional. É assim que um DAO trabalha. O principal objetivo de um DAO é encapsular o acesso e a manipulação de dados em uma camada separada. 5

10 ESTUDO DE CASO Banco de Dados Abaixo temos o diagrama de Entidade-Relacionamento para o sistema de controle de estoque que terá foco no cadastro de produtos e na movimentação (entrada e saída) desses produtos. Figura 1: Diagrama de entidade e relacionamento 6

11 Entidade A entidade é a representação da tabela do banco de dados em nosso aplicativo. Deve ser criados os métodos get s e set s para implementar o encapsulamento de nosso código. Fornecedor 1 public class Fornecedor { 2 private int id; 3 private String nome; 4 private String telefone; 5 private String cnpj; 6 7 public int getid() { 8 return id; 9 } public void setid(int id) { 12 this.id = id; 13 } public String getnome() { 16 return nome; 17 } public void setnome(string nome) { 20 this.nome = nome; 21 } public String gettelefone() { 24 return telefone; 25 } public void settelefone(string telefone) { 28 this.telefone = telefone; 29 } public String getcnpj() { 7

12 32 return cnpj; 33 } public void setcnpj(string cnpj) { 36 this.cnpj = cnpj; 37 } } Listagem 1: Classe Fornecedor.java Produto 1 public class Produto { 2 private int id; 3 private String codigo; 4 private String nome; 5 private double estoque; 6 private double valor; 7 private Fornecedor fornecedor; 8 9 public int getid() { 10 return id; 11 } public void setid(int id) { 14 this.id = id; 15 } public String getcodigo() { 18 return codigo; 19 } public void setcodigo(string codigo) { 22 this.codigo = codigo; 23 } public String getnome() { 26 return nome; 8

13 27 } public void setnome(string nome) { 30 this.nome = nome; 31 } public double getestoque() { 34 return estoque; 35 } public void setestoque(double estoque) { 38 this.estoque = estoque; 39 } public double getvalor() { 42 return valor; 43 } public void setvalor(double valor) { 46 this.valor = valor; 47 } public Fornecedor getfornecedor() { 50 return fornecedor; 51 } public void setfornecedor(fornecedor fornecedor) { 54 this.fornecedor = fornecedor; 55 } } Movimento 1 public class Movimento { 2 private int id; 3 private String tipo; 9

14 4 private double quantidade; 5 private String data; 6 private Produto produto; 7 8 public int getid() { 9 return id; 10 } public void setid(int id) { 13 this.id = id; 14 } public String gettipo() { 17 return tipo; 18 } public void settipo(string tipo) { 21 this.tipo = tipo; 22 } public double getquantidade() { 25 return quantidade; 26 } public void setquantidade(double quantidade) { 29 this.quantidade = quantidade; 30 } public String getdata() { 33 return data; 34 } public void setdata(string data) { 37 this.data = data; 38 } public Produto getproduto() { 41 return produto; 42 } 43 10

15 44 public void setproduto(produto produto) { 45 this.produto = produto; 46 } } Dao Primeiramente precisamos de uma classe que estabeleça a conexão com o banco de dados: Conexão 1 import java.sql.*; 2 public class Conexao { 3 private String driver="com.mysql.jdbc.driver"; 4 private String url="jdbc:mysql://localhost:3306/db_aluno"; 5 private String usuario = "root"; 6 private String senha = ""; 7 8 public Statement stm; 9 public ResultSet rs; public void conectar() throws Exception{ 12 Class.forName(driver); 13 Connection con = DriverManager.getConnection(url,usuario,senha); 14 stm = con.createstatement(); 15 } 16 } Listagem 2: Classe Conexao.java 11

16 Vamos criar uma classe AlunoDAO que possui os métodos para manipular (salvar, atualizar, apagar e consultar) um objeto Aluno. Fornecedor 1 import java.util.linkedlist; 2 import java.util.list; 3 4 public class FornecedorDao extends Conexao{ 5 Fornecedor f = new Fornecedor(); 6 String sql; 7 8 public FornecedorDao() throws Exception{ 9 conectar(); 10 } public Fornecedor getfornecedor(int id)throws Exception{ 13 sql="select * FROM fornecedor WHERE idfornecedor="+id; 14 rs = stm.executequery(sql); 15 if(rs.next()){ 16 f.setid( rs.getint(1)); 17 f.setnome(rs.getstring(2)); 18 f.settelefone(rs.getstring(3)); 19 f.setcnpj(rs.getstring(4)); 20 } 21 return f; 22 } public List<Fornecedor> pesquisar(string nome)throws Exception{ 25 List<Fornecedor> fornecedores = new LinkedList(); 26 sql="select * FROM fornecedor WHERE nome_fornecedor LIKE '"+nome+"%'"; 27 rs = stm.executequery(sql); 28 while(rs.next()){ 29 f = new Fornecedor(); 30 f.setid( rs.getint(1)); 12

17 31 f.setnome(rs.getstring(2)); 32 f.settelefone(rs.getstring(3)); 33 f.setcnpj(rs.getstring(4)); 34 fornecedores.add(f); 35 } 36 return fornecedores; 37 } public void cadastrar(fornecedor f)throws Exception{ 40 sql="insert INTO fornecedor(nome_fornecedor,telefone,cnpj)" 41 +" values('"+f.getnome()+"','"+f.gettelefone()+"','"+f.getcnpj()+"')"; 42 stm.executeupdate(sql); 43 } public void alterar(fornecedor f)throws Exception{ 46 sql="update fornecedor SET nome_fornecedor='"+f.getnome()+"'," 47 + " telefone='"+f.gettelefone()+"', cnpj='"+f.getcnpj()+"'" 48 + " WHERE idfornecedor="+f.getid(); 49 stm.executeupdate(sql); 50 } public void excluir(int id)throws Exception{ 53 sql="delete FROM fornecedor WHERE idfornecedor="+id; 54 stm.executeupdate(sql); 55 } 56 } Listagem 3: Classe FornecedorDao.java Produto 1 import java.util.linkedlist; 2 import java.util.list; 3 4 public class ProdutoDao extends Conexao{ 5 Produto p = new Produto(); 13

18 6 FornecedorDao fornecedordao = new FornecedorDao(); 7 String sql; 8 9 public ProdutoDao() throws Exception { 10 conectar(); 11 } public Produto getproduto(int id)throws Exception{ 14 sql="select * FROM produto WHERE idproduto="+id; 15 rs = stm.executequery(sql); 16 if(rs.next()){ 17 p = new Produto(); 18 p.setid( rs.getint(1)); 19 p.setcodigo( rs.getstring(2)); 20 p.setnome(rs.getstring(3)); 21 p.setestoque(rs.getdouble(4)); 22 p.setvalor(rs.getdouble(5)); 23 p.setfornecedor(fornecedordao.getfornecedor(rs.getint(6))); 24 } 25 return p; 26 } public List<Produto> pesquisar(string nome)throws Exception{ 29 List<Produto> produtos = new LinkedList(); 30 sql="select * FROM produto WHERE nome_produto LIKE '"+nome+"%' ORDER BY nome_produto"; 31 rs = stm.executequery(sql); 32 while(rs.next()){ 33 p = new Produto(); 34 p.setid( rs.getint(1)); 35 p.setcodigo( rs.getstring(2)); 36 p.setnome(rs.getstring(3)); 37 p.setestoque(rs.getdouble(4)); 38 p.setvalor(rs.getdouble(5)); 39 p.setfornecedor(fornecedordao.getfornecedor(rs.getint(6))); 40 produtos.add(p); 41 } 42 return produtos; 43 } 44 14

19 45 public void cadastrar(produto p)throws Exception{ 46 sql="insert INTO produto(codigo,nome_produto,estoque,valor,fornecedor_idfornecedor)" 47 +" values('"+p.getcodigo()+"','"+p.getnome()+"', 0,"+p.getValor()+","+p.getFornecedor().getId()+")"; 48 stm.executeupdate(sql); 49 } public void alterar(produto p)throws Exception{ 52 sql="update produto SET codigo='"+p.getcodigo()+"', nome_produto='"+p.getnome()+"'," 53 + " valor="+p.getvalor()+", fornecedor_idfornecedor="+p.getfornecedor().getid() 54 + " WHERE idproduto="+p.getid(); 55 stm.executeupdate(sql); 56 } public void excluir(int id)throws Exception{ 59 sql="delete FROM produto WHERE idproduto="+id; 60 stm.executeupdate(sql); 61 } 62 } Movimento 1 2 public class MovimentoDao extends Conexao { 3 4 String sql; 5 6 public MovimentoDao() throws Exception { 7 conectar(); 8 } 9 10 public boolean registarmovimento(movimento m) throws Exception { 11 if (atualizarestoque(m)) { 12 sql = "INSERT INTO 15

20 movimento(tipo,quantidade,data,produto_idproduto)" 13 + "VALUES('" + m.gettipo() + "'," + m.getquantidade() + ",'" + m.getdata() 14 + "'," + m.getproduto().getid() + ")"; 15 stm.executeupdate(sql); 16 return true; 17 } 18 return false; 19 } private boolean atualizarestoque(movimento m) throws Exception { 22 ProdutoDao produtodao = new ProdutoDao(); 23 double estoque = produtodao.getproduto(m.getproduto().getid()).getestoque(); 24 if (m.gettipo().equals("entrada")) { 25 estoque += m.getquantidade(); 26 } else { 27 if (estoque > m.getquantidade()) { 28 estoque -= m.getquantidade(); 29 } else { 30 return false; 31 } 32 } 33 sql = "UPDATE produto SET estoque=" + estoque + " WHERE idproduto=" + m.getproduto().getid(); 34 stm.executeupdate(sql); 35 return true; 36 } 37 } 16

21 Formulários Principal Abaixo temos os eventos para os botões 120 private void jbfornecedoractionperformed(java.awt.event.actionevent 121 try { 122 new FormularioFornecedor().show(); 123 } catch (Exception ex) { 124 JOptionPane.showMessageDialog(null, ex); 125 } 17

22 126 } private void jbprodutoactionperformed(java.awt.event.actionevent 129 try { 130 new FormularioProduto().show(); 131 } catch (Exception ex) { 132 JOptionPane.showMessageDialog(null, ex); 133 } 134 } private void jbentradaactionperformed(java.awt.event.actionevent 137 try { 138 new FormularioEntrada().show(); 139 } catch (Exception ex) { 140 JOptionPane.showMessageDialog(null, ex); 141 } 142 } private void jbsaidaactionperformed(java.awt.event.actionevent 145 try { 146 new FormularioSaida().show(); 147 } catch (Exception ex) { 148 JOptionPane.showMessageDialog(null, ex); 149 } 150 } Figura 2: Formulário principal Fornecedor 18

23 1 2 import java.util.linkedlist; 3 import java.util.list; 4 import java.util.logging.level; 5 import java.util.logging.logger; 6 import javax.swing.joptionpane; 7 8 /* 9 * To change this template, choose Tools Templates 19

24 10 * and open the template in the editor. 11 */ 12 /** 13 * 14 Josiel 15 */ 16 public class FormularioFornecedor extends javax.swing.jframe { private Fornecedor fornecedor = new Fornecedor(); 19 private List<Fornecedor> fornecedores = new LinkedList<>(); 20 private FornecedorDao fornecedordao = new FornecedorDao(); 21 int posicao; /** 24 * Creates new form FormularioFornecedor 25 */ 26 public FormularioFornecedor() throws Exception{ 27 initcomponents(); 28 } private void limparcampos() { 31 tfid.settext(null); 32 tfnome.settext(null); 33 tftelefone.settext(null); 34 tfcnpj.settext(null); 35 } private void getfornecedor() { 38 if (!tfid.gettext().equals("")) { 39 fornecedor.setid(integer.parseint(tfid.gettext())); 40 } 41 fornecedor.setnome(tfnome.gettext()); 42 fornecedor.settelefone(tftelefone.gettext()); 43 fornecedor.setcnpj(tfcnpj.gettext()); 44 } private void setfornecedor(fornecedor f) { 47 tfid.settext(string.valueof(f.getid())); 48 tfnome.settext(f.getnome()); 49 tftelefone.settext(f.gettelefone()); 20

25 50 tfcnpj.settext(f.getcnpj()); 51 } //Código omitido private void btcadastraractionperformed(java.awt.event.actionevent 251 try { 252 getfornecedor(); 253 fornecedordao.cadastrar(fornecedor); 254 JOptionPane.showMessageDialog(null, "Cadastrado com sucesso!"); 255 limparcampos(); 256 } catch (Exception ex) { 257 JOptionPane.showMessageDialog(null, ex); 258 } 259 } private void btfecharactionperformed(java.awt.event.actionevent 262 dispose(); 263 } private void btpesquisaractionperformed(java.awt.event.actionevent 266 try { 267 fornecedores = fornecedordao.pesquisar(tfnome.gettext()); 268 posicao = 0; 269 setfornecedor(fornecedores.get(posicao)); 270 } catch (Exception ex) { 271 JOptionPane.showMessageDialog(null, ex); 272 } 273 } private void btproximoactionperformed(java.awt.event.actionevent 276 if (posicao < fornecedores.size() - 1) { 277 posicao++; 278 setfornecedor(fornecedores.get(posicao)); 279 } 21

26 280 } private void btanterioractionperformed(java.awt.event.actionevent 283 if (posicao > 0) { 284 posicao--; 285 setfornecedor(fornecedores.get(posicao)); 286 } 287 } private void btprimeiroactionperformed(java.awt.event.actionevent 290 posicao = 0; 291 setfornecedor(fornecedores.get(posicao)); 292 } private void btultimoactionperformed(java.awt.event.actionevent 295 posicao = fornecedores.size() - 1; 296 setfornecedor(fornecedores.get(posicao)); 297 } private void btalteraractionperformed(java.awt.event.actionevent 300 try { 301 getfornecedor(); 302 fornecedordao.alterar(fornecedor); 303 JOptionPane.showMessageDialog(null, "Alterado com sucesso!"); 304 limparcampos(); 305 } catch (Exception ex) { 306 JOptionPane.showMessageDialog(null, ex); 307 } 308 } private void btexcluiractionperformed(java.awt.event.actionevent 311 try { 312 getfornecedor(); 313 fornecedordao.excluir(fornecedor.getid()); 314 JOptionPane.showMessageDialog(null, "Excluido com 22

27 sucesso!"); 315 limparcampos(); 316 } catch (Exception ex) { 317 JOptionPane.showMessageDialog(null, ex); 318 } 319 } private void btnovoactionperformed(java.awt.event.actionevent 322 limparcampos(); 323 } //Código omitido /* Create and display the form */ 353 java.awt.eventqueue.invokelater(new Runnable() { 354 public void run() { 355 try { 356 new FormularioFornecedor().setVisible(true); 357 } catch (Exception ex) { 358 JOptionPane.showMessageDialog(null, ex); 359 } 360 } 361 }); 362 } 363 // Variables declaration - do not modify 364 private javax.swing.jbutton btalterar; 365 private javax.swing.jbutton btanterior; 366 private javax.swing.jbutton btcadastrar; 367 private javax.swing.jbutton btexcluir; 368 private javax.swing.jbutton btfechar; 369 private javax.swing.jbutton btnovo; 370 private javax.swing.jbutton btpesquisar; 371 private javax.swing.jbutton btprimeiro; 372 private javax.swing.jbutton btproximo; 373 private javax.swing.jbutton btultimo; 374 private javax.swing.jbutton jbutton10; 375 private javax.swing.jlabel jlabel1; 376 private javax.swing.jlabel jlabel2; 377 private javax.swing.jlabel jlabel3; 23

28 378 private javax.swing.jlabel jlabel4; 379 private javax.swing.jtextfield tfcnpj; 380 private javax.swing.jtextfield tfid; 381 private javax.swing.jtextfield tfnome; 382 private javax.swing.jtextfield tftelefone; 383 // End of variables declaration 384 } Produto 2 import java.util.linkedlist; 3 import java.util.list; 4 import java.util.logging.level; 5 import java.util.logging.logger; 6 import javax.swing.joptionpane; 7 8 /* 24

29 9 * To change this template, choose Tools Templates 10 * and open the template in the editor. 11 */ 12 /** 13 * 14 Josiel 15 */ 16 public class FormularioProduto extends javax.swing.jframe { private Produto produto = new Produto(); 19 private List<Produto> produtos = new LinkedList<>(); 20 private ProdutoDao produtodao = new ProdutoDao(); 21 private List<Fornecedor> fornecedores = new LinkedList<>(); 22 private FornecedorDao fornecedordao = new FornecedorDao(); 23 int posicao; /** 26 * Creates new form FormularioFornecedor 27 */ 28 public FormularioProduto() throws Exception{ 29 initcomponents(); 30 listarfornecedores(); 31 } private void listarfornecedores() throws Exception { 34 fornecedores = fornecedordao.pesquisar(""); 35 cbfornecedor.additem("selecione um Fornecedor"); 36 for (int i = 0; i < fornecedores.size(); i++) { 37 cbfornecedor.additem(fornecedores.get(i).getnome()); 38 } 39 } private void limparcampos() { 42 tfid.settext(null); 43 tfcodigo.settext(null); 44 tfnome.settext(null); 45 tfvalor.settext(null); 46 cbfornecedor.setselectedindex(0); 47 } 48 25

30 49 private void getfornecedor() throws Exception{ 50 if (!tfid.gettext().equals("")) { 51 produto.setid(integer.parseint(tfid.gettext())); 52 } 53 produto.setcodigo(tfcodigo.gettext()); 54 produto.setnome(tfnome.gettext()); 55 produto.setvalor(double.parsedouble(tfvalor.gettext())); 56 produto.setfornecedor( fornecedordao.pesquisar( cbfornecedor.getselecteditem().tostring()).get(0)); 57 } private void setfornecedor(produto p) { 60 tfid.settext(string.valueof(p.getid())); 61 tfcodigo.settext(p.getcodigo()); 62 tfnome.settext(p.getnome()); 63 tfvalor.settext(string.valueof(p.getvalor())); 64 cbfornecedor.setselecteditem(p.getfornecedor().getnome()); 65 } //Código omitido private void btcadastraractionperformed(java.awt.event.actionevent 282 try { 283 getfornecedor(); 284 produtodao.cadastrar(produto); 285 JOptionPane.showMessageDialog(null, "Cadastrado com sucesso!"); 286 limparcampos(); 287 } catch (Exception ex) { 288 JOptionPane.showMessageDialog(null, ex); 289 } 290 } private void btfecharactionperformed(java.awt.event.actionevent 293 dispose(); 294 } private void 26

31 btpesquisaractionperformed(java.awt.event.actionevent 297 try { 298 produtos = produtodao.pesquisar(tfnome.gettext()); 299 posicao = 0; 300 setfornecedor(produtos.get(posicao)); 301 } catch (Exception ex) { 302 JOptionPane.showMessageDialog(null, ex); 303 } 304 } private void btproximoactionperformed(java.awt.event.actionevent 307 if (posicao < produtos.size() - 1) { 308 posicao++; 309 setfornecedor(produtos.get(posicao)); 310 } 311 } private void btanterioractionperformed(java.awt.event.actionevent 314 if (posicao > 0) { 315 posicao--; 316 setfornecedor(produtos.get(posicao)); 317 } 318 } private void btprimeiroactionperformed(java.awt.event.actionevent 321 posicao = 0; 322 setfornecedor(produtos.get(posicao)); 323 } private void btultimoactionperformed(java.awt.event.actionevent 326 posicao = produtos.size() - 1; 327 setfornecedor(produtos.get(posicao)); 328 } private void btalteraractionperformed(java.awt.event.actionevent 27

32 331 try { 332 getfornecedor(); 333 produtodao.alterar(produto); 334 JOptionPane.showMessageDialog(null, "Alterado com sucesso!"); 335 limparcampos(); 336 } catch (Exception ex) { 337 JOptionPane.showMessageDialog(null, ex); 338 } 339 } private void btexcluiractionperformed(java.awt.event.actionevent 342 try { 343 getfornecedor(); 344 produtodao.excluir(produto.getid()); 345 JOptionPane.showMessageDialog(null, "Excluido com sucesso!"); 346 limparcampos(); 347 } catch (Exception ex) { 348 JOptionPane.showMessageDialog(null, ex); 349 } 350 } private void btnovoactionperformed(java.awt.event.actionevent 353 limparcampos(); 354 } //Código omitido /* Create and display the form */ 384 java.awt.eventqueue.invokelater(new Runnable() { 385 public void run() { 386 try { 387 new FormularioFornecedor().setVisible(true); 388 } catch (Exception ex) { 389 JOptionPane.showMessageDialog(null, ex); 390 } 391 } 392 }); 28

33 393 } 394 // Variables declaration - do not modify 395 private javax.swing.jbutton btalterar; 396 private javax.swing.jbutton btanterior; 397 private javax.swing.jbutton btcadastrar; 398 private javax.swing.jbutton btexcluir; 399 private javax.swing.jbutton btfechar; 400 private javax.swing.jbutton btnovo; 401 private javax.swing.jbutton btpesquisar; 402 private javax.swing.jbutton btprimeiro; 403 private javax.swing.jbutton btproximo; 404 private javax.swing.jbutton btultimo; 405 private javax.swing.jcombobox cbfornecedor; 406 private javax.swing.jbutton jbutton10; 407 private javax.swing.jlabel jlabel1; 408 private javax.swing.jlabel jlabel2; 409 private javax.swing.jlabel jlabel3; 410 private javax.swing.jlabel jlabel4; 411 private javax.swing.jlabel jlabel5; 412 private javax.swing.jtextfield tfcodigo; 413 private javax.swing.jtextfield tfid; 414 private javax.swing.jtextfield tfnome; 415 private javax.swing.jtextfield tfvalor; 416 // End of variables declaration 417 } 29

34 Entrada 2 import java.util.logging.level; 3 import java.util.logging.logger; 4 import javax.swing.joptionpane; 5 6 /* 7 * To change this template, choose Tools Templates 8 * and open the template in the editor. 9 */ /** 12 * 13 Josiel 14 */ 15 public class FormularioEntrada extends javax.swing.jframe { /** 18 * Creates new form FormularioEntrada 19 */ 20 public FormularioEntrada() { 21 initcomponents(); 22 } 24 //Código Omitido

35 155 private void btbuscaractionperformed(java.awt.event.actionevent 156 try { 157 new FormularioBuscar().show(); 158 FormularioBuscar.formulario="Entrada"; 159 } catch (Exception ex) { 160 JOptionPane.showMessageDialog(null, ex); 161 } 162 } private void btregistraractionperformed(java.awt.event.actionevent 165 try{ 166 ProdutoDao produtodao = new ProdutoDao(); 167 Movimento movimento = new Movimento(); 168 movimento.settipo(tftipo.gettext()); 169 movimento.setproduto(produtodao.pesquisar(tfproduto.gettext()).get(0)); 170 movimento.setquantidade(double.parsedouble(tfqtde.gettext())); 171 movimento.setdata(tfdata.gettext()); MovimentoDao movimentodao = new MovimentoDao(); 174 movimentodao.registarmovimento(movimento); 175 JOptionPane.showMessageDialog(null, "Entrada registada!"); tfproduto.settext(null); 178 tfqtde.settext(null); 179 tfdata.settext(null); 180 }catch(exception ex){ 181 JOptionPane.showMessageDialog(null, ex); 182 } 183 } private void jbutton1actionperformed(java.awt.event.actionevent 186 dispose(); 187 } } 31

36 Busca de produtos 1 2 import java.util.linkedlist; 3 import java.util.list; 4 import javax.swing.joptionpane; 5 import javax.swing.table.defaulttablemodel; 6 7 /* 8 * To change this template, choose Tools Templates 9 * and open the template in the editor. 10 */ /** 13 * 14 Josiel 15 */ 16 public class FormularioBuscar extends javax.swing.jframe { 17 ProdutoDao produtodao = new ProdutoDao(); 32

37 18 List<Produto> produtos = new LinkedList<>(); 19 public static String formulario=""; 20 /** 21 * Creates new form FormularioBuscar 22 */ 23 public FormularioBuscar() throws Exception{ 24 initcomponents(); 25 } private void jbutton1actionperformed(java.awt.event.actionevent 118 try{ 119 produtos = produtodao.pesquisar(tfproduto.gettext()); 120 DefaultTableModel tabela = (DefaultTableModel) tbproduto.getmodel(); 121 for(int i=0; i<produtos.size();i++){ 122 tabela.addrow(new Object[]{produtos.get(i).getCodigo(), 123 produtos.get(i).getnome(), 124 produtos.get(i).getfornecedor().getnome(), 125 produtos.get(i).getvalor(), 126 produtos.get(i).getestoque() }); 127 } 128 }catch(exception ex){ 129 JOptionPane.showMessageDialog(null, ex); 130 } 131 } private void tbprodutomouseclicked(java.awt.event.mouseevent 134 if(evt.getclickcount()==2){ 135 String nome = tbproduto.getvalueat(tbproduto.getselectedrow(), 1).toString(); 136 if(formulario.equals("entrada")){ 137 FormularioEntrada.tfProduto.setText(nome); 138 }else if(formulario.equals("saída")){ 139 FormularioSaida.tfProduto.setText(nome); 140 } 141 dispose(); 142 } 33

38 143 } /* Create and display the form */ 173 java.awt.eventqueue.invokelater(new Runnable() { 174 public void run() { 175 try { 176 new FormularioBuscar().setVisible(true); 177 } catch (Exception ex) { 178 JOptionPane.showMessageDialog(null, ex); 179 } 180 } 181 }); 182 } 183 // Variables declaration - do not modify 184 private javax.swing.jbutton jbutton1; 185 private javax.swing.jlabel jlabel1; 186 private javax.swing.jscrollpane jscrollpane1; 187 private javax.swing.jtable tbproduto; 188 private javax.swing.jtextfield tfproduto; 189 // End of variables declaration 190 }

39 Saída 2 import javax.swing.joptionpane; 3 4 /* 5 * To change this template, choose Tools Templates 6 * and open the template in the editor. 7 */ 8 9 /** 10 * 11 Josiel 12 */ 13 public class FormularioSaida extends javax.swing.jframe { /** 16 * Creates new form FormularioEntrada 17 */ 18 public FormularioSaida() { 19 initcomponents(); 20 } /** 35

40 private void btbuscaractionperformed(java.awt.event.actionevent 155 try { 156 new FormularioBuscar().show(); 157 FormularioBuscar.formulario="Saída"; 158 } catch (Exception ex) { 159 JOptionPane.showMessageDialog(null, ex); 160 } 161 } private void btregistraractionperformed(java.awt.event.actionevent 164 try { 165 ProdutoDao produtodao = new ProdutoDao(); 166 Movimento movimento = new Movimento(); 167 movimento.settipo(tftipo.gettext()); 168 movimento.setproduto(produtodao.pesquisar(tfproduto.gettext()).get(0)); 169 movimento.setquantidade(double.parsedouble(tfqtde.gettext())); 170 movimento.setdata(tfdata.gettext()); MovimentoDao movimentodao = new MovimentoDao(); 173 if (movimentodao.registarmovimento(movimento)) { 174 JOptionPane.showMessageDialog(null, "Saída registada!"); tfproduto.settext(null); 177 tfqtde.settext(null); 178 tfdata.settext(null); 179 } else { 180 JOptionPane.showMessageDialog(null, "Estoque insuficiente"); 181 } 182 } catch (Exception ex) { 183 JOptionPane.showMessageDialog(null, ex); 184 } 185 } private void jbutton1actionperformed(java.awt.event.actionevent 36

41 188 dispose(); 189 }

42 REFENRÊNCIAS BIBLIOGRÁFICAS TEIXEIRA, Maria. Acesso a Banco de Dados com JDBC (Java Database Connectivity) e o Padrão de Projeto DAO (Data Access Object). Disponível em /mariateixeira-java.introdu%c3%a7%c3%a3o%20a%20banco% 20de%20Dados.pdf. Acessado em 17 de outubro de CARNEIRO, Davi Luan. Introdução ao pattern DAO. Disponível em DAO.html. Acessado em 17 de outubro de

43

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC Funcionamento da Aplicação Simulações do funcionamento Simulação SAC Simulação PRICE Simulação Cartão de Crédito Simulação Deposito Simulação parcela mínima Simulação Parcelamento máximo Classe: ConnectionFactory;

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II AULA Banco de Dados (Exemplo) Prof. Rodrigo Rocha Prof.rodrigorocha@yahoo.com (Modo Texto) Conectando ao Banco de Dados Entre no Diretório do Mysql mysql u root p criando

Leia mais

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES Conteúdo O Projeto... 2 Criação de Pacotes... 4 Factory:... 6 DAO:... 15 GUI (Graphical User Interface ou Interface Gráfica de Cadastro)... 18 Evento SAIR... 23 Evento CADASTRAR... 24 1 O Projeto Arquivo

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

Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO.

Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO. Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO. Robson Adão Fagundes http://robsonfagundes.blogspot.com/ Mini curso Desenvolvimento de aplicação

Leia mais

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing.

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. 15/11/2009 Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. Crie um novo projeto clicando em arquivo e em novo projeto. Escolha a opção java, aplicativo java

Leia mais

Driver Mysql para Banco de Dados. Conexão com um Banco de Dados

Driver Mysql para Banco de Dados. Conexão com um Banco de Dados Driver Mysql para Banco de Dados MySQL.: Driver.: com.mysql.jdbc.driver URL.: jdbc:mysql://localhost/nomedobanco Usuário.: root senha.: ****** Conexão com um Banco de Dados Colocar o driver do banco de

Leia mais

J550 Integração com Bancos de Dados

J550 Integração com Bancos de Dados J550 Integração com Bancos de Dados Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Objetivos Este módulo apresenta estratégias para conectar servlets com a camada de dados usando um DAO - Data

Leia mais

Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte II

Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte II Tutorial elaborado pelo professor José Gonçalo dos Santos Contato: jose.goncalo.santos@gmail.com Criando um aplicação simples com JAVA e MySQL usando NetBeans Parte II Introdução Para acompanhar este tutorial

Leia mais

Universidade Católica do Salvador Bacharelado em Informática. Antonio Yuri Jailson do Amor Divino Felipe Souza. Tutorial: Trabalhando com JDBC

Universidade Católica do Salvador Bacharelado em Informática. Antonio Yuri Jailson do Amor Divino Felipe Souza. Tutorial: Trabalhando com JDBC Universidade Católica do Salvador Bacharelado em Informática Antonio Yuri Jailson do Amor Divino Felipe Souza Tutorial: Trabalhando com JDBC Configuração e manipulação. Professor: Eduardo Jorge Salvador

Leia mais

package br.com.cadastro.visao;

package br.com.cadastro.visao; package br.com.cadastro.visao; import java.awt.eventqueue; import java.awt.event.actionlistener; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.border.emptyborder; import br.com.cadastro.modelo.cliente;

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

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. 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

Persistência de Classes em Tabelas de Banco de Dados

Persistê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 mais

Java na WEB Banco de Dados

Java na WEB Banco de Dados 1 Java na WEB Banco de Dados Objetivo: Ao final da aula o aluno será capaz de: Criar aplicações JSP com acesso ao Banco de Dados MySql Configurar o TomCat para acessar o MySql. Não é Objetivo: Ao final

Leia mais

Acesso a banco de dados

Acesso a banco de dados Acesso a banco de dados 1. Crie uma pasta chamada AcessoBD com as seguintes subpastas: Aplicativos, Drivers, AcessoMSACCESS, AcessoMySQL e AcessoSQLSERVER Exemplo 1: MS ACCESS 1. Crie um banco de dados

Leia mais

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5. Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria

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

Manipulaçã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 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 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

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

Unidade 9: Middleware JDBC para Criação de Beans

Unidade 9: Middleware JDBC para Criação de Beans Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com

Leia mais

public abstract class Pessoa extends Entidade {

public abstract class Pessoa extends Entidade { public abstract class Entidade { protected int codigo = 0; protected Date cadastro = new Date(); public Entidade() { public Date getcadastro() { return cadastro; public void setcadastro(date cadastro)

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

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

Classes de Entidades Persistentes JDB

Classes de Entidades Persistentes JDB Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena

Leia mais

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel

Acesso a Banco. Conexão em Java. Conexão em Java. Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel Acesso a Banco Programação Orientada a Objetos Profa. Cristiane e Prof. Daniel As conexões em Java são feitas através de uma ponte que implementa todas as funcionalidades que um banco de dados padrão deve

Leia mais

Drive MySql de conexão para Eclipse

Drive MySql de conexão para Eclipse Drive MySql de conexão para Eclipse de Setembro de 0 Olá, neste artigo iremos focar em como utilizar o drive de conexão do Mysql na IDE eclipse. Veremos passo-a-passo como instalar, o que é uma coisa muito

Leia mais

DSS 08/09. Camada de Dados - JDBC. Aula 1. António Nestor Ribeiro /António Ramires Fernandes/ José Creissac Campos {anr,arf,jfc}@di.uminho.

DSS 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 mais

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br JSP (Java Server Pages) - JavaServer Pages (JSP) - Tecnologia de programação serverside - Permite

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

Is Event Dispatcher Threade (Animation)

Is Event Dispatcher Threade (Animation) JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Is Event Dispatcher Threade (Animation) FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: João Vitor Ávila dos Santos Identificação da Turma: 3º Semestre/

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

Manipulação de Banco de Dados com Java 1. Objetivos

Manipulaçã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 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

Persistência Java para Web com MySQL

Persistência Java para Web com MySQL Persistência Java para Web com MySQL 1. Criar o modelo no DBDesigner 2. Criar o esquema e as tabelas no MySQL 3. Criar um projeto Java simples, com o nome Empresa,no NetBeans 4. Adicionar o driver de conexã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

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Listando, gravando, alterando e excluindo registro do banco de dados com JSP SISTEMAS DE INFORMAÇÃO 3º ANO PROGRAMAÇÃO II PROF. RONALDO FERREIRA DA SILVA JavaServer Pages JavaServer Pages (JSP) é uma tecnologia que ajuda os desenvolvedores de software a criarem páginas web geradas

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

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

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

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

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

Mapeando Entidades. Abaixo iremos mapear nossas classes. Fornecedor.java package entidades;

Mapeando Entidades. Abaixo iremos mapear nossas classes. Fornecedor.java package entidades; Mapeando Entidades Uma entidade nada mais é do que uma classe pertencente ao domínio de nossa aplicação, como vimos no nosso diagrama de classes; nossas classes: Produto, Fornecedor e Fabricante, serão

Leia mais

Nesta atividade de laboratório você irá criar aplicações Java que acessam bancos de dados.

Nesta atividade de laboratório você irá criar aplicações Java que acessam bancos de dados. Atividade de Laboratório - JDBC Nesta atividade de laboratório você irá criar aplicações Java que acessam bancos de dados. A Base de Dados de Exemplo Nos exemplos que serão apresentados será usado um esquema

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

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

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

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

Programação Orientada a Objetos no C#.NET usando Padrões de Projeto MARCELO SANTOS DAIBERT E MARCO ANTÔNIO PEREIRA ARAÚJO

Programação Orientada a Objetos no C#.NET usando Padrões de Projeto MARCELO SANTOS DAIBERT E MARCO ANTÔNIO PEREIRA ARAÚJO POO Programação Orientada a Objetos no C#.NET usando Padrões de Projeto MARCELO SANTOS DAIBERT E MARCO ANTÔNIO PEREIRA ARAÚJO Marcelo Santos Daibert (marcelo@daibert.net) é professor do Curso de Bacharelado

Leia mais

JAVA 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 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 mais

JPA: Persistência padronizada em Java

JPA: 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 mais

Java na WEB Componentes Bean

Java na WEB Componentes Bean 1 Java na WEB Componentes Bean Objetivo: Ao final da aula o aluno será capaz de: Criar site dinâmico utilizando componentes Bean Utilizar Tags de ação Empregar Coleções de Bean. Sumário 5. Definição de

Leia mais

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

DSS 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 mais

Gerador de código JSP baseado em projeto de banco de dados MySQL

Gerador de código JSP baseado em projeto de banco de dados MySQL Gerador de código JSP baseado em projeto de banco de dados MySQL Juliane Menin Orientanda Prof. Alexander Roberto Valdameri Orientador Roteiro Introdução e Objetivos Fundamentação Teórica Especificação

Leia mais

JDBC Tópicos avançados de acesso a base de dados relacional

JDBC Tópicos avançados de acesso a base de dados relacional JDBC Tópicos avançados de acesso a base de dados relacional A gestão de instruções SQL em JDBC 1 : proposta de uma arquitectura para evitar a manipulação de código SQL embutido em código JAVA. A arquitectura

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

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

HIBERNATE Criando um projeto em Java + Hibernate do zero

HIBERNATE Criando um projeto em Java + Hibernate do zero HIBERNATE Criando um projeto em Java + Hibernate do zero SUMÁRIO 1 Instalação do NetBeans 2 Instalação do Java Development Kit (JDK) 3 Criar projeto no NetBeans 4 O arquivo hibernate.cfg.xml 5 Criar as

Leia mais

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this. Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +

Leia mais

O Caminho para JDBC. Características do JDBC. Instalando o JDBC. Características do JDBC. A linguagem SQL. A linguagem SQL

O Caminho para JDBC. Características do JDBC. Instalando o JDBC. Características do JDBC. A linguagem SQL. A linguagem SQL O Caminho para JDBC Características do JDBC Grande desenvolvimento da linguagem Java Necessidade de uma API puramente JAVA para acesso a bancos de dados Sucesso do modelo de API ODBC da Microsoft Em 1996

Leia mais

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2 CRIANDO UM PROJETO COM TELAS Páginas com formulário Acesso ao banco de dados PHP MYSQL PARTE 2 Luciana Balieiro Cosme ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS # Coluna Nome e Tipo 1 codigo int(11) AUTO_INCREMENT

Leia mais

Programação em Rede JDBC

Programação em Rede JDBC Programação em Rede JDBC 1 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

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

C# - Conexão com MySQL

C# - Conexão com MySQL E S T A A P R E S E N T A Ç Ã O F O I E L A B O R A D A COMO M A T E R I A L DE A P O I O À A U L A DO P R O F E S S O R L E O L A R B A C K A O S A L U N O S DA E S C O L A T É C N I C A P O L I M I G.

Leia mais

Evento.java. package dominio;

Evento.java. package dominio; Evento.java package dominio; import java.util.date; import java.util.set; import javax.persistence.entity; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.generationtype;

Leia mais

Especialização em web com interfaces ricas

Especialização em web com interfaces ricas Especialização em web com interfaces ricas Acessando Bancos de Dados com Java Prof. Fabrízzio Alphonsus A. M. N. Soares fabrizzio@inf.ufg.br professor.fabrizzio@gmail.com Instituto de Informática Universidade

Leia mais

Capítulo 35. Sistemas de Banco de Dados. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 35. Sistemas de Banco de Dados. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 35 Sistemas de Banco de Dados Objetivos do Capítulo Instalar e configurar um sistema gerenciador de banco de dados relacional. Apresentar a API do Java que permite aos aplicativos acessarem bancos

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

JPA Java Persistence API. Prof. Ramon Chiara

JPA Java Persistence API. Prof. Ramon Chiara JPA Java Persistence API Prof. Ramon Chiara JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados JDBC Aplicação JDBC Driver Banco de Dados JDBC Java DataBase Connectivity

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

Autenticação e Autorização

Autenticação e Autorização Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa

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

(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

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 interaem com BD relacionais de modo uniforme e independente dos diferentes SGBD.

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

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

JDBC Java Database Connectivity

JDBC 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 mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo. 7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso

Leia mais

!" # # # $ %!" " & ' ( 2

! # # # $ %!  & ' ( 2 !"# # #$ %!" "& ' ( 2 ) *+, - 3 . / 4 !" 0( # "!#. %! $""! # " #.- $ 111.&( ( 5 # # 0. " % * $(, 2 % $.& " 6 # #$ %% Modelo (Encapsula o estado da aplicação) Implementado como JavaBeans Responde a consulta

Leia mais

Então vamos ao que interessa. 1. Introdução

Então vamos ao que interessa. 1. Introdução Tentarei ser o mais genérico possível. Nos exemplos irei utilizar ASP.Net 2.0 e acesso a dados através do ADO.NET, mas pode ter certeza que para outros casos a idéia não irá mudar muito, seja com LINQ,

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A 1 2 3 4 F 1 2 3 4 B 1 2 3 4 G 1 2 3 4 C 1 2 3 4 H 1 2 3 4 D 1 2 3 4 I 1 2 3 4 E 1 2 3 4 J 1 2 3 4

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A 1 2 3 4 F 1 2 3 4 B 1 2 3 4 G 1 2 3 4 C 1 2 3 4 H 1 2 3 4 D 1 2 3 4 I 1 2 3 4 E 1 2 3 4 J 1 2 3 4 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 6º MÓDULO AVALIAÇÃO A3 DATA 09/07/2009 PROGRAMAÇÃO Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO

Leia mais

Especialização em Engenharia de Software - CEUT

Especialização em Engenharia de Software - CEUT Até aqui Programação com interfaces gráficas Sérgio Soares scbs@cin.ufpe.br Criamos a infra-estrutura para a aplicação bancária classes que representam os tipos de conta classe que implementa regras de

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Java Database Connectivity (JDBC) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 08 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir o acesso à

Leia mais

Sistemas de Telecomunicações 2012/2013

Sistemas de Telecomunicações 2012/2013 Departamento de Engenharia Electrotécnica Sistemas de Telecomunicações 2012/2013 Trabalho 0: Demonstração do ambiente Java Aprendizagem do desenvolvimento de aplicações Aula 1 Primeira aplicação (Versão

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

Desvendando o Hibernate

Desvendando o Hibernate Passos Iniciais Desvendando o Hibernate 1. Repetir os passos do tutorial "CRUD com Hibernate" 2. Adicionar o driver JDBC do banco Esquematizando Fontes dos Arquivos WEB-INF\classes\hibernate.cfg.xml

Leia mais

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar Projeto Integrador Sistemas Operacionais Prof.ª Lucilia Ribeiro GTI 3 Noturno Grupo: Anderson Alves da Mota. André Luiz Silva. Misael bezerra dos santos. Sandro de almeida silva. Analisar os sistemas operacionais

Leia mais

Persistência de dados com o

Persistência de dados com o Persistência de dados com o Faculdade Zacarias de Góes Sistemas de Informação Linguagem de Programação Orientada a Objetos 1 INDICE 1. INTRODUÇÃO AO HIBERNATE 2 1.1. MAPEAMENTO OBJETO-RELACIONAL 2 1.2.

Leia mais

Implementando o Diagrama de Classes

Implementando o Diagrama de Classes Modelagem de Hipermídia Prof. Giangiacomo Ponzo Neto Aula7 Implementando o Diagrama de Classes Podíamos chamar esse tópico de persistência, porque vamos passar pelo assunto. No entanto, como alguém poderia

Leia mais

Figura 1. A Classe Java

Figura 1. A Classe Java Conexã o com MySQL Connection Factory Para criar as conexões com o banco de dados será utilizado um padrão chamado Factory, onde através dele se terá uma única classe que proverá uma fábrica de conexão

Leia mais

Grupo de Usuários Java http://www.guj.com.br JavaServer Faces: A mais nova tecnologia Java para desenvolvimento WEB

Grupo de Usuários Java http://www.guj.com.br JavaServer Faces: A mais nova tecnologia Java para desenvolvimento WEB JavaServer Faces: A mais nova tecnologia Java para desenvolvimento WEB Talita Pitanga Conheça um pouco sobre a mais nova tecnologia para desenvolvimento de aplicações WEB: JavaServer Faces. Introdução

Leia mais

Banco de Dados. Prof. Leonardo Barreto Campos 1

Banco 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 mais

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com

Tecnologias Java JDBC. Marcio Seiji Oyamada msoyamada@gmail.com Tecnologias Java JDBC Marcio Seiji Oyamada msoyamada@gmail.com JDBC JDBC: Java Database Connectivity API Java para acessar dados armazenados em um Banco de Dados Conectar a um banco dados Enviar consultas

Leia mais

TUTORIAL SOBRE A CONSTRUÇÃO DE APLICAÇÕES EMPREGANDO JAVA, HIBERNATE E MySQL

TUTORIAL SOBRE A CONSTRUÇÃO DE APLICAÇÕES EMPREGANDO JAVA, HIBERNATE E MySQL Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 6, JAN/JUN 2009 TUTORIAL SOBRE A CONSTRUÇÃO DE APLICAÇÕES EMPREGANDO JAVA,

Leia mais

Código do Sistema Ponto de Vendas

Código do Sistema Ponto de Vendas Código do Sistema Ponto de Vendas O sistema ponto de vendas, tem como finalidade implementar um pequeno sistema em WPF, que sirva de exemplo para a turma da disciplina Ambiente de Programação e Banco de

Leia mais