package br.com.ftt.bettaserver.digital.reader.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import java.util.List; import br.com.ftt.bettaserver.digital.reader.vo.Livro; import br.com.ftt.bettaserver.restful.dao.ParametrosDAO; import br.com.ftt.bettaserver.restful.database.util.DataBaseUtil; import br.com.ftt.bettaserver.restful.form.ChaveParametro; public class LivroDAO { public List<Livro> buscaTodosLivros( ) { List<Livro> livros = null ; Connection con = null ; PreparedStatement pstmt = null ; ResultSet rs = null ; String sql = "select id, titulo, autor, editora, numero_paginas, endereco_arquivo from livros order by titulo" ; ParametrosDAO dao = new ParametrosDAO( ) ; try { String urlStreaming = dao.buscaValorDeParametro( ChaveParametro.STREAMING_PATH ) ; con = DataBaseUtil.getConnection( ); pstmt = con.prepareStatement( sql ); rs = pstmt.executeQuery( ) ; if( rs.next( ) ) { livros = new LinkedList<Livro>( ) ; do { Livro livro = new Livro( ) ; livro.setId( rs.getInt( "id" ) ) ; livro.setTitulo( rs.getString( "titulo" ) ) ; livro.setAutor( rs.getString( "autor" ) ) ; livro.setEditora( rs.getString( "editora" ) ) ; livro.setNumeroPaginas( rs.getInt( "numero_paginas" ) ) ; String urlLivro = urlStreaming + rs.getString( "endereco_arquivo" ) ; livro.setEnderecoArquivo( urlLivro ) ; livros.add( livro ) ; } while( rs.next( ) ) ; } } catch( SQLException e ) { e.printStackTrace( ) ; } finally { DataBaseUtil.close( con, pstmt, rs ) ; } return livros ; } }