Exercícios de Fixação 10 Aplicações com SGBD Exercícios resolvidos Para realizar estes exercícios, iremos utilizar o projeto Aula01. Crie neste projeto um pacote de nome banco. Todos os exercícios deverão ser criados neste caminho. Crie uma pasta com o nome de lib ; Copie para a pasta lib o jar mysql-connector-java-5.1.14-bin.jar. Clique com o botão direito do mouse sobre o Projeto e clique em Build Path > Configure Build Path... : Na Aba Libares, clique no botão Add JARs... : 1
Selecione o Projeto e localize o jar do JDBC na pasta lib, selecione-o e clique em Ok. Clique em Ok novamente para finalizar a configuração: Para testar a conexão com o Banco de Dados, crie uma classe main com o nome de ConsultaUsers e digite o código abaixo dentro do método main: ResultSet rs; String url = "jdbc:mysql://localhost:3306/mysql?useunicode=true"; String selectsql = "SELECT user FROM user"; rs = pssql.executequery(); while (rs.next()) { System.out.println("Nome : " + rs.getstring("user")); catch (ClassNotFoundException cnfe) { catch (SQLException e) { Nota: Coloque o usuário e a senha que você definiu no seu Banco de Dados. Execute a consulta "SELECT user FROM user" no seu IDE e compare com a execução desta classe. Banco CursoSA CRUD entidade Curso Com o banco cursosa criado, Siga os passos para realizar o CRUD para a entidade Curso. 1. Create - Crie uma classe com o nome de InsereCurso e digite o código abaixo dentro do método main: String selectsql = "INSERT INTO curso (id_curso, nome, descricao, carga_horaria) VALUES (?,?,?,?)"; pssql.setint( 1, 2 ) ; pssql.setstring( 2, "Java" ) ; pssql.setstring( 3, "Curso de desenvolvimento Java \n\n" + " - POO \n" + 2
" - Java \n" + " - JSP \n" + " - JSF" ) ; pssql.setint( 4, 120 ) ; System.out.println("Registro inserido com sucesso."); catch (ClassNotFoundException cnfe) { catch (SQLException e) { Nota: A coluna id_curso é a chave primária da tabela curso. Tabelas de Banco de Dados não permite a gravação de chaves primárias iguais. O campo descricao é do tipo texto que possui a característica de permitir quebra de linha, mas esta não é obrigatória, apenas uma questão de formatação. Crie outros cursos com nomes e descrições diferentes. 2. Read - Crie uma classe main com o nome de ConsultaCurso e digite o código abaixo dentro do método main: ResultSet rs; String selectsql = "SELECT nome FROM curso"; rs = pssql.executequery(); while (rs.next()) { System.out.println("Curso : " + rs.getstring("nome")); registros++; if(registros == 0) System.out.println("Não foi localizado Cursos na Base de Dados."); catch (ClassNotFoundException cnfe) { catch (SQLException e) { 3. Update - Crie uma classe com o nome de AlteraCurso e digite o código abaixo dentro do método main: 3
String selectsql = "UPDATE curso SET nome =?, descricao =?, carga_horaria =? WHERE id_curso =?"; pssql.setstring( 1, "PHP" ) ; pssql.setstring( 2, "Curso de PHP" ) ; pssql.setint( 3, 180 ) ; pssql.setint( 4, 2 ) ; System.out.println("Registro alterado com sucesso."); catch (ClassNotFoundException cnfe) { catch (SQLException e) { Faça testes de alterando de outros cursos. Nota: Observe que a condição usada foi a chave pssql.setint(4, 2), sendo este o único campo que não foi alterado. Pode-se, também, alterar somente um ou parte dos campo, não sendo obrigado alterar todos. 4. Delete - Crie uma classe com o nome de ApagaCurso e digite o código a abaixo dentro do método main: String selectsql = "DELETE FROM curso WHERE id_curso =?"; pssql.setint( 1, 2 ) ; System.out.println("Registro apagado com sucesso."); catch (ClassNotFoundException cnfe) { catch (SQLException e) { 4
Nota: Observe que a condição usada também foi a chave pssql.setint(4, 2). Este comando apaga a o registro todo (linha toda). Pode-se, também usar uma condição que recupere mais linhas para serem apagadas. Ex: carga_horaria > 50. 5