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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Leia mais

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

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

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

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

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

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

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

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

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

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

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

Leia mais

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Leia mais

JAVA 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

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

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

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

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

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

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

Leia mais

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

DATA ACCESS OBJECT (DAO)

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

Leia mais

Java - Conexão ao Banco de Dados usando JDBC

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

Leia mais

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

Vector Java. Empregado.java

Vector Java. Empregado.java Vector Java Empregado.java /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools Templates * and open the template in the editor.

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

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

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS Na grande maioria dos sistemas, faz-se necessário utilizar informações que estão armazenadas em uma determinada

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

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

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)

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

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

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

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

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

Leia mais

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

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

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

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

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

Lista de exercícios I - RESPOSTAS Servlets e banco de dados www.posse.ueg.br Home Page: http://www.posse.ueg.br/index.php/conexao-ueg/meuperfil/userprofile/ronaldo Dado o diagrama de classe abaixo: Lista de exercícios I - RESPOSTAS Servlets e banco de dados 1.

Leia mais

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010

Estrutura em Camadas. Estrutura em Camadas. 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 Componentes da Estrutura Estruturando Aplicações OO em Camadas 2 Arquitetura em 1 camada Todas as

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

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Padrão J2EE Data Access Object (DAO)

Padrão J2EE Data Access Object (DAO) Introdução CRUD DAO Exemplo Padrão J2EE Data Access Object (DAO) Prof. Enzo Seraphim Motivação para usar Componentes precisam acessar e armazenar informações em armazenamento persistente As APIs de armazenamento

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos

Leia mais

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

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

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

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO

RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE

Leia mais

Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info

Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info Crie a aplicação correspondente aos itens seguintes. Execute o programa e observe os

Leia mais

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

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

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Programação Orientada a Objetos II

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

Leia mais