[quote=Zeed01]Bom dia colegas !
Acho que seria possível, mas não entendi qual a finalidade disso ?
Veja bem, não é uma critica, é que eu não entendi mesmo, se puder me explicar…
Um abraço.[/quote]
Tudo bem…Tavez eu esteja me equivocando. Essa idéia da interface peguei no " Desenvolvendo aplicações webe com jsp…tararatarara… ". Entao pensei em faze-la mais genérica para todos os típos de objetos. Para posteriormente fazer somente uma classe de implementação desses métodos.
Olha a implementação dela atual:
package model.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import model.bean.Livros;
import model.util.ConnectionLivrariaFactory;
public class LivrariaDAO implements InterfaceLivrosDAO {
private Connection conn;
public LivrariaDAO()throws LivrariaDAOException {
// TODO Auto-generated constructor stub
try{
this.conn = ConnectionLivrariaFactory.getConnection();
}catch (Exception e) {
// TODO: handle exception
throw new LivrariaDAOException("Erro: "+":\n"+e.getMessage());
}
}
public void atualizar(Livros livro) throws LivrariaDAOException {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement ps = null;
if(livro == null){
throw new LivrariaDAOException("Valor passado não pode ser nulo");
}
try {
String sql = "update livros set titulo=?,edicao=?,publicacao=?,descricao=? where isbn = ?";
conn = this.conn;
ps = conn.prepareStatement(sql);
ps.setString(1,livro.getTitulo());
ps.setInt(2, livro.getEdicao());
ps.setInt(3, livro.getPublicacao());
ps.setString(4, livro.getDescricao());
ps.setString(5,livro.getIsbn());
ps.executeUpdate();
} catch (SQLException sqle) {
// TODO Auto-generated catch block
throw new LivrariaDAOException("Erro ao atualizar dados"+sqle);
}finally{
ConnectionLivrariaFactory.closeConnection(conn, ps);
}
}
public void excluir(Livros livro) throws LivrariaDAOException {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement ps = null;
if(livro == null){
throw new LivrariaDAOException("Valor passado não pode ser nulo");
}
try {
conn = this.conn;
ps = conn.prepareStatement("delete from livros where isbn = ?");
ps.setString(1, livro.getIsbn());
ps.executeUpdate();
} catch (SQLException sqle) {
// TODO Auto-generated catch block
throw new LivrariaDAOException("Erro ao excluir dados "+ sqle);
}finally{
ConnectionLivrariaFactory.closeConnection(conn, ps);
}
}
public Livros procurarLivro(String isbn) throws LivrariaDAOException {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
if(isbn == null){
throw new LivrariaDAOException("Valor passado não pode ser nulo");
}
try {
String sql = "select * from livros where isbn = ?";
conn = this.conn;
ps = conn.prepareStatement(sql);
ps.setString(1, isbn);
rs = ps.executeQuery();
if(!rs.next()){
throw new LivrariaDAOException("Não foi encontrado nenhum registro com o ISBN: "+isbn);
}
Livros livro = new Livros();
livro.setTitulo(rs.getString(2));
livro.setEdicao(rs.getInt(3));
livro.setPublicacao(rs.getInt(4));
livro.setDescricao(rs.getString(5));
return livro;
} catch (SQLException sqle) {
// TODO Auto-generated catch block
throw new LivrariaDAOException(sqle);
}finally{
ConnectionLivrariaFactory.closeConnection(conn, ps, rs);
}
}
public void salvar(Livros livro) throws LivrariaDAOException {
// TODO Auto-generated method stub
PreparedStatement ps = null;
Connection conn = null;
if(livro == null){
throw new LivrariaDAOException("O valor passado não pode ser nulo");
}
try{
String sql = "insert into livros(isbn,titulo,edicao,publicacao,descricao)" +
"values(?,?,?,?,?)";
conn = this.conn;
ps = conn.prepareStatement(sql);
ps.setString(1, livro.getIsbn());
ps.setString(2, livro.getTitulo());
ps.setInt(3, livro.getEdicao());
ps.setInt(4, livro.getPublicacao());
ps.setString(5, livro.getDescricao());
ps.executeUpdate();
}catch (Exception sqle) {
// TODO: handle exception
throw new LivrariaDAOException("Erro ao inserir dados: "+ sqle);
}finally{
ConnectionLivrariaFactory.closeConnection(conn,ps);
}
}//end method salvar()
public List<Livros> todosLivros() throws LivrariaDAOException {
// TODO Auto-generated method stub
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
String sql = "select * from livros";
conn = this.conn;
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
List<Livros>list = new ArrayList<Livros>();
while(rs.next()){
Livros livro = new Livros();
livro.setIsbn(rs.getString(1));
livro.setTitulo(rs.getString(2));
livro.setEdicao(rs.getInt(3));
livro.setPublicacao(rs.getInt(4));
livro.setDescricao(rs.getString(5));
list.add(livro);
}
return list;
} catch (SQLException sqle) {
// TODO Auto-generated catch block
throw new LivrariaDAOException(sqle);
}finally{
ConnectionLivrariaFactory.closeConnection(conn,ps, rs);
}
}
/*
public static void main(String[] args) {
try {
LivrariaDAO oj = new LivrariaDAO();
Livros livro = new Livros();
livro.setIsbn("0000000000003");
oj.excluir(livro);
} catch (LivrariaDAOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}*/
}
Está vendo se eu criar o objeto usuário, eu teria que criar uma nova classe para implementar os métodos de inclusão, atualização, etc…Deu para entender minha dúvida ou equívoco ?..rs
abraço