Prévia do material em texto
13/09/2019 EPS estacio.webaula.com.br/Classroom/index.html?id=2253755&courseId=13043&classId=1186503&topicId=2652538&p0=03c7c0ace395d80182db0… 1/3 DESENVOLVIMENTO DE SOFTWARE 7a aula Lupa Vídeo PPT MP3 Exercício: CCT0779_EX_A7_201801026361_V2 13/09/2019 Aluno(a): PAULO CESAR CHAVES 2019.3 EAD Disciplina: CCT0779 - DESENVOLVIMENTO DE SOFTWARE 201801026361 1a Questão O uso de um DAO (Data Access Object) em um código tem a função de: Gerenciar a geração de logs de acesso com API específica. Encapsular o usuário e senha de acesso ao banco de dados relacional. Prover uma interface para acesso a um banco de dados ou outro mecanismo de persistência. Impedir que uma classe tenha mais de um objeto instanciado. Prover uma camada de segurança para a aplicação. Respondido em 13/09/2019 13:39:57 Explicação: O padrão DAO concentra as chamadas SQL, evitando que este tipo de código se perpetue ao longo da aplicação. 2a Questão O middleware de acesso ao banco de dados utilizado pelo Java é denominado: RMI RPC JMS JNDI JDBC Respondido em 13/09/2019 13:40:03 Explicação: O middleware para acesso a banco de dados do Java é o JDBC (Java Database Conectivity) 3a Questão Java Database Connectivity(JDBC) consiste de um conjunto de classes e interfaces (API) escritas em Java que fazem o envio de instruções SQL para qualquer banco de dados relacional. Dentre as alternativas abaixo, assinale INCORRETA referente a Java Database Connectivity(JDBC): O método close() da classe Connection fecha uma conexão com o banco de dados. 13/09/2019 EPS estacio.webaula.com.br/Classroom/index.html?id=2253755&courseId=13043&classId=1186503&topicId=2652538&p0=03c7c0ace395d80182db0… 2/3 O PreparedStatement é um descendente de Statement que aceita parametrizações. Statement trabalha como um executor de comandos SQL. O executeQuery é um método da classe Connection para execução de uma consulta. É possivel acessar Banco de Dados que não possuem Driver JDBC próprio através da ponte JDBC-ODBC. Respondido em 13/09/2019 13:40:21 Explicação: O método executeQuery pertence à classe Statement. 4a Questão Baseado na linha de comando abaixo, marque qual deve ser o comando seguinte: Statement st = Conexao.getConection().createStatement(); List< Aluno > ls = st.executeQuery("select * from ALUNOS"); ResultSet rs = st.executeUpdate("select * from ALUNOS"); ResultSet rs = st.executeQuery("select * from ALUNOS"); List ls = st().executeUpdate("select * from ALUNOS"); List< Aluno > ls = st.prepareStatement("select * from ALUNOS"); Respondido em 13/09/2019 13:40:42 Explicação: Após criar o executor de SQL (Statement), o próximo passo pode ser uma consulta, efetuada a partir do método executeQuery, com o retorno do resultado na forma de um ResultSet. 5a Questão A linguagem Java apresenta como middleware padrão para acesso a bancos de dados o JDBC, cuja utilização envolve vários passos, indo desde o registro do Driver até a recepção da consulta em ResultSets. Neste processo podem ocorrer duas exceções principais, no que se refere ao uso do JDBC, as quais são: ServletException e ArithmeticException SQLException e ClassNotFoundException ClassNotFoundException e ArithmeticException ClassNotFoundException e ServletException SQLException e ServletException Respondido em 13/09/2019 13:40:57 Explicação: Pode ocorrer SQLException nas operações sobre o banco, e ClassNotFoundException ao instanciar o Driver. 6a Questão Supondo que você utilize um Managed Bean que funcione como DAO, através do nome "clienteDAO", e que o mesmo tenha um método "findAll" sem parâmetros para o retorno de toda a base de clientes, como seria definido um componente DataTable alimentado pelo mesmo? < h:dataTable value="#{produtoDAO.obterTodos()}" var="p" > < h:dataTable var="#{clienteDAO.findAll()}" value="c" > < h:dataTable value="#{clienteDAO.obterTodos()}" var="c" > < h:dataTable var="#{produtoDAO.findAll()}" value="p" > < h:dataTable value="#{clienteDAO.findAll()}" var="c" > Respondido em 13/09/2019 13:41:24 Explicação: 13/09/2019 EPS estacio.webaula.com.br/Classroom/index.html?id=2253755&courseId=13043&classId=1186503&topicId=2652538&p0=03c7c0ace395d80182db0… 3/3 Na sintaxe do DataTable, o atributo value deverá receber a lista de origem, fornecida a partir de clienteDAO.findAll, e o atributo var nomeia a variável que percorre o conjunto, assumindo os valores de cada entidade sequencialmente.