> 0) { System.out.println("Codigo Nome Valor Quantidade"); for (int i = 0; i < tabela.length; i++) { linha = ""; for (int j = 0; j < tabela[i].length; j++) { linha += tabela[i][j] + " "; } System.out.println(linha); } System.out.println("Digite o nome do produto: "); String nome = reader.readLine(); System.out.println("Digite o valor do produto: "); double valor = Double.parseDouble(reader.readLine()); System.out.println("Digite a quantidade do produto: "); int quantidade = Integer.parseInt(reader.readLine()); sql.delete(0, sql.length()); sql.append("update produto set \n"); sql.append(" nmProduto='" + nome + "',\n"); sql.append(" vlProduto=" + valor + ",\n"); sql.append(" qtProduto=" + quantidade + "\n"); sql.append("where \n"); sql.append(" cdProduto=" + codigo); if (conexao.update(sql.toString())) { System.out.println("Atualizado com sucesso!!!"); } else { System.out.println("Ocorreu um erro ao atualizar o produto..."); } } else { System.out.println("Produto nao encontrado..."); } } catch (Exception e) { System.out.println("Valor invalido..."); } } public static void excluir(){ try { System.out.println("Digite o codigo do produto que deseja excluir: "); int codigo = Integer.parseInt(reader.readLine()); StringBuilder sql = new StringBuilder(); sql.append("select * from produto where cdProduto = " + codigo); String[][] tabela = conexao.select(sql.toString()); String linha; if (tabela.length > 0) { System.out.println("Codigo Nome Valor Quantidade"); for (int i = 0; i < tabela.length; i++) { linha = ""; for (int j = 0; j < tabela[i].length; j++) { linha += tabela[i][j] + " "; } System.out.println(linha); } sql.delete(0, sql.length()); sql.append("delete from produto where cdProduto="+codigo); if (conexao.delete(sql.toString())) { System.out.println("Produto excluido com sucesso!!!"); } else { System.out.println("Ocorreu um erro ao excluir o produto..."); } } else { System.out.println("Produto nao encontrado..."); } } catch (Exception e) { System.out.println("Valor invalido..."); } }}Agora vamos entender o que a classe "Conexao" faz. Primeiro vamos comecar pelas propriedades da classe. Repare que nos temos uma propriedade estatica "cn" do tipo "java.sql.Connection". E ela que ira ser responsavel por nos manter conectado com o SGBD. Possuimos uma propriedade chamada "stm" do tipo "java.sql.Statement", ela sera responsavel por executarmos os comando sql na nossa base de dados. Por ultimo possuimos a propriedade "rs" do tipo "java.sql.ResultSet" e o objeto que ira possuir o retorno de uma consulta sql (comando sql).Vamos ao metodo construtor ele recebe como parametro "classPath" que sera o caminho do Driver conector do MySql, a "url" de conexao, o usuario que ira se conectar no banco e sua respectiva senha, no caso o "password". Exemplo:Class.forname("com.mysql.jdbc.Driver"); Nos usamos o metodo estatico "forname()" da classe "Class" para que atraves do caminho informado ele carregue um classe java para que outras possam usa - las. No caso iremos carregar a classe do Driver do MySql. Por ultimo usamos o metodo estatico "getConnection()" da classe "DriverManager" que ira criar uma conexao com o nosso SGBD atraves da url, usuario e senha informado no metodo. Exemplo:DriverManager.getConnection("jdbc:mysql://localhost:3306/loja", "root", "root");Repare que a url e composta por tipoDeDriver:BancoDeDados://ondeEleSeEncontra:PortaDeConexao/NomeDaBaseDeDados. Agora passamos a ter uma conexao aberta com o nosso banco de dados.Mas lembre - se de que sempre que abrirmos uma conexao temos que fecha - la. Vamos agora entender o metodo "select". Ele recebe como parametro uma String que contem o comando "select" e retorna uma matriz de String. Para que possamos ler as informacoes do nosso banco de dados