Chamando outras classes

2 respostas
thiagobernardo_si

Ola pessoal,

estou fazendo uma aplicação aqui que consulta um banco de dados, porém, minha classe de conexao estava com as demais de consulta, inserção, exclusao, etc… entao resolvi separá-las e não estou conseguindo achar um modo de chamar outra classe da uma olhada nos arquivos que vai ficar mais facil…

Esse arquivo abre uma conexao do arquivo ConectaBD e declara os metodos de consulta
ConsultaBD

package conexao;

import java.sql.*;

public class ConsultaBD{
	
	public Statement stm;
	public ResultSet res = null;
	public PreparedStatement ps =null;
	
	public void setConsulta() {
	
	      try{
	      	 Connection con = ConectaBD.getConnection();//abre nova conexao
	      	 try{
	      		 res = stm.executeQuery("select * from usuarios"); // Faz consulta
	      	 }catch(SQLException se){
	      		 System.out.println("Erro na listagem" + con);
	      	 }
	      }catch (SQLException e){
	         e.printStackTrace();
	      }
	
	}
	public ResultSet getResultado() {
	      return res;
	}

E esse outro arquivo que no momento esta com aplicação java mas sua função real sera executada no jsp

Lista.java

package conexao;

import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Connection;

public class Lista{
	public static void main(String[] args){
		
		try{
			//--Como posso chamar a classe COnsultaBD???
			res.setConsultaDB();
			ResultSet temp = con.getResultado();
        
         	while (temp.next()){
	       		System.out.print(temp.getString("nome"));
	            System.out.print(temp.getString("usuario"));
	            System.out.print(temp.getString("senha"));
	                       }
	          System.out.println("conexao realizada:");
		}catch(Exception e){
      	System.out.println("Não foi possivel realizar a listagem: "+ e.getMessage());    
   	  	} 
	}
}

o problema que esta acontecendo eh que nao estou conseguindo chamar a classe ConsultaBD.java que seria responsavel por abrir a conexao e realizar o select…

alguem ai poderia me dizer como posso fazer isso?

vlw t+

2 Respostas

marcelo_mococa

Olá thiago…

não é legal você retornar um ResultSet pra sua camada de visualização. O legal seria se a camada de visualização não conhece como são feitos os acessos ao banco.

Dicas:

Separe a criação do objeto connection em uma factory (pesquise sobre o pattern factory), ou crie um pool de connection.

Separe os métodos que fazem o acesso ao banco (executam às slq`s) em classes separadas (pesquise pattern DAO).

Acho que vale a pena dar uma pesquisada… o código vai ficar melhor…
t+

thiagobernardo_si

Olá marcelo,

entao eu estou estudando em cima da apostila da caelum fj21, estou ate partindo para DAO mas acho que depois vou me perder para fazer as chmadas com o jsp, pois nao estou usando servlets. Mas vou tentar fazer um pool aqui…

vlw pela ajuda ate agora…

flw t+

Criado 31 de janeiro de 2007
Ultima resposta 31 de jan. de 2007
Respostas 2
Participantes 2