Olá
pessoal
Tenho duas classes java uma é o DAO e outra é ProdutoDAO nessa classe ProdutoDAO eu extendo ao DAO para obter a connection
com o banco oracle atraves de JNDI, na classe ProdutoDAO faço um select no banco oracle na tabela produtos no methodo ConsultaProdutos().
Minha pergunta é muito simples teria como JUnit executar esse methodo sem que eu faça uma applicação J2EE?
Como faria isso com Junit ou outro recurso?
Grato
========================DAO PAI COM JNDI===================
package teste.dao;
import java.sql.*;
import javax.naming.*;
import javax.sql.*;
public class DAO {
protected Connection con = null;
protected DataSource ds = null;
// public Map comandosSQL = null;
public DAO() {
try {
//Este codigo tem que passar para um service Locator
String jdbc = "java:/OracleDS";
InitialContext ctx = new InitialContext();
if(ctx.lookup(jdbc)!=null)
{
ds = (javax.sql.DataSource)ctx.lookup(jdbc);
//con = ds.getConnection();
}
} catch (Exception e) {
e.printStackTrace();
}
}
protected void recuperaConexaoPool() throws NamingException {
try {
if(ds !=null)
{
con = ds.getConnection();
}
else
throw new NamingException("Could not get DataSource - null");
} catch (SQLException e) {
System.err.println("Retornou SQLException: " + e.getMessage());
}
}
}
//========================classe que extend ao DAO e seleciona os dados do banco oracle da tabela produtos=================
package teste;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.sql.*;
import teste.prodVO;
public class ProdutoDAO extends DAO {
/*
* Construtor default
* */
public ProdutoDAO {
}
public ArrayList ConsultaProdutos(){
ResultSet rs = null;
PreparedStatement ps = null;
ArrayList retorno = new ArrayList();
String SQL = "SELECT descricao FROM produtos " ;
try {
super.recuperaConexaoPool();
ps = con.prepareStatement(SQL);
rs = ps.executeQuery();
while(rs.next()){
prodVO vo = new prodVO();
vo.setCodigo(rs.getString("username"));
vo.setDescricao(rs.getString("location"));
retorno.add(vo);
}
} catch (Exception e) {
System.err.println("Exception: " + e.getMessage());
} finally {
encerrar(con, ps, rs);
}
return retorno;
}
}