public List<Emprestimo> listaEmprestimos() { Connection conn = null; try { log.info("Abrindo conexão com o banco"); conn = ConexaoBD.getConexao(); log.info("Executando a busca dos empréstimos.."); String sql = "" + "SELECT" + " emp.*, " + " usu.id as id_usuario, " + " usu.matricula as matricula_usuario, " + " usu.nome as nome_usuario, " + " liv.id as id_livro, " + " liv.titulo as titulo_livro, " + " liv.autor as autor_livro, " + " liv.isbn as isbn_livro, " + " cat.id as id_categoria, " + " cat.nome as nome_categoria " + " from emprestimo emp " + " inner join usuario usu ON usu.id = emp.id_usuario" + " inner join livro liv ON liv.id = emp.id_livro" + " inner join categoria cat ON cat.id = liv.id_categoria"; PreparedStatement pstm = conn.prepareStatement(sql); // log.error("Erro em: "+sql); ResultSet rs = pstm.executeQuery(); System.out.println(pstm); List<Emprestimo> lista = new ArrayList<>(); Emprestimo emp; Livro book; Usuario user; Categoria cat; while (rs.next()) { emp = new Emprestimo(); user = new Usuario(); book = new Livro(); cat = new Categoria(); emp.setId(rs.getInt("id")); emp.setDtEmprestimo(new Date(rs.getTimestamp("dataEmprestimo").getTime())); emp.setDtDevolucao(new Date(rs.getTimestamp("dataDevolucao").getTime())); emp.setIndDevolvido(rs.getString("ind_devolvido")); book.setId(rs.getInt("id_livro")); book.setTitulo(rs.getString("titulo_livro")); book.setAutor(rs.getString("autor_livro")); book.setIsbn(rs.getString("isbn_livro")); cat.setId(rs.getInt("id_categoria")); book.setCategoria(cat); cat.setNome("nome_categoria"); emp.setLivro(book); user.setId(rs.getInt("id_usuario")); user.setMatricula(rs.getInt("matricula_usuario")); user.setNome(rs.getString("nome_usuario")); emp.setUsuario(user); lista.add(emp); } log.info("Lista de empréstimos retornada."); System.out.println(lista); return lista; } catch (Exception ex) { throw new RuntimeException(ex); } finally { try { conn.close(); } catch (SQLException ex) { } } }
public List<Emprestimo> listaEmprestimoDoUsuario(Usuario usuario) { Connection conn = null; try { conn = ConexaoBD.getConexao(); String sql = "" + " select " + " emp.* " + ", usu.id as id_usuario " + ", usu.matricula as matricula_usuario " + ", usu.nome as nome_usuario " + ", usu.telefone as telefone_usuario " + ", liv.id as id_livro " + ", liv.titulo as titulo_livro " + ", liv.autor as autor_livro " + ", liv.isbn as isbn_livro " + ", liv.ano ano_livro " + ", liv.descricao as descricao_livro " + ", liv.id_categoria " // + ", liv. " editora + " from emprestimo emp " + " inner join usuario usu on usu.id = emp.id_usuario " + " inner join livro liv on liv.id = emp.id_livro " + " inner join categoria cat on cat.id = liv.id_categoria" + " where emp.id_usuario = ?"; // log.error("Erro em: "+sql); PreparedStatement pmst = conn.prepareStatement(sql); pmst.setInt(1, usuario.getId()); ResultSet rs = pmst.executeQuery(); List<Emprestimo> emprestimos = new ArrayList<>(); Emprestimo emp; Livro livro; Usuario user; Categoria cat; while (rs.next()) { emp = new Emprestimo(); livro = new Livro(); user = new Usuario(); cat = new Categoria(); emp.setDtDevolucao(new Date(rs.getTimestamp("dataDevolucao").getTime())); emp.setDtEmprestimo(new Date(rs.getTimestamp("dataEmprestimo").getTime())); emp.setId(rs.getInt("id")); emp.setIndDevolvido(rs.getString("ind_devolvido")); livro.setId(rs.getInt("id_livro")); livro.setAno(rs.getInt("ano_livro")); livro.setDescricao(rs.getString("descricao_livro")); livro.setAutor(rs.getString("autor_livro")); livro.setIsbn(rs.getString("isbn_livro")); // : Column 'isbn' not found livro.setTitulo(rs.getString("titulo_livro")); cat.setId(rs.getInt("id_categoria")); livro.setCategoria(cat); emp.setLivro(livro); user.setId(rs.getInt("id_usuario")); user.setMatricula(rs.getInt("matricula_usuario")); user.setNome(rs.getString("nome_usuario")); user.setTelefone(rs.getString("telefone_usuario")); emp.setUsuario(user); emprestimos.add(emp); } return emprestimos; } catch (Exception e) { throw new RuntimeException(e); } finally { if (conn != null) { try { conn.close(); } catch (SQLException ex) { } } } }