Olá, bom dia. COmo eu faço para instanciar uma classe de acesso a banco de dados (como eu passo os parâmetros para ela)? Ex:
try {
Stringdsn="jdbc:odbc:ipcounter";Stringusuario="";Stringsenha="";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon;con=DriverManager.getConnection(dsn,usuario,senha);Statementst=con.createStatement();ResultSetrs=st.executeQuery("SELECT * FROM cadastro WHERE ir = 'ir0100'");while(rs.next()){System.out.println(rs.getString("ip")+" - "+rs.getString("ir")+" - "+rs.getString("counter"));}st.close();con.close();//String contador = rs.getString("ir");}catch(Exceptione){System.out.println("Nao foi possível realizar a conexão.");}
Como eu passo estes parâmetros para o novo objeto que eu crio?
Em outra classe eu faço a busca no banco, por exemplo CadastroDAO:
publicclassCadastroDAO{privateConnectionconnection;privateStringquery;publicCadastroDAO()throwsSQLException{this.connection=ConnectionFactory.getConnection();}publicseusDadosbuscaDados()throwsSQLException{query="SELECT * FROM cadastro WHERE ir = 'ir0100";PreparedStatementstmt=connection.prepareStatement(strSQL);ResultSetrs=stmt.executeQuery();// É só popular esse objeto e vc vai conseguir passar os dados p/ outra classeseusDadosdados=newseusDados();dados.setDado1(rs.getString("dado1"));dados.setDado2(rs.getString("dado2"));rs.close();stmt.close();connection.close();returndados;}}
Blz? Se não entendeu posta aí de novo! :thumbup:
M
mtosatti
Você pode isolar todo o código de conexão em uma classe e implementar um método que retorna um objeto java.sql.Connection. Não se esqueça de garantir, caso não seja sua intenção, se a classe em questão retorna apenas uma cópia da instância de conexão, garantindo que a aplicação não gere diversas conexões simultâneas. Para isso, implemente o padrão de projeto Sigleton.