Exemplo de classe DAO com método que retorna uma matriz de double[][] e método de uso

Olá pessoal

Alguém pode me passar um exemplo de classe DAO que tem um método retorna uma matriz de double[][]. Preciso preencher uma matriz que retorna double com dados que vem do banco.

obs: o intuito é preencher um jfreechart ( gráfico ) que solicita uma matriz de double.

Obrigado

cara, acredito que basta você modificar sua classe DAO de consulta

[code]public double [][] lista (){

double [][] var = …
int cont = 0;
while(rs.next()){
var[cont][0] = 1.0;
var[cont][1] = 3.0;
var[cont][2] = 4.0;
cont++;
}

return var;

}[/code]
flw

Obrigado Leandro pelo apoio mas estou tentando ainda ajustar a visualização do gráfico ( jfreechart )

Vou colocar o resultado do select que tem que estou tentando acertar no preenchimento do gráfico:

codigoprojeto	ano	fluxo
r              	0	-3440.00
r             	1	200.32
r               2	320.80
r               3	190.56
r               4	120.48
r               5	1180.68
t               0	-1220.00
t               1	11.80
t               2	34.20
t               3	20.00
t               4	10.20
t               5	1101.80
x              0	-2800.00
x              1	168.76
x              2	176.56
x              3	44.80
x              4	187.20
x              5	3808.80

Explicação: cada ano, representa uma coluna no gráfico de modo que se o ano for zero, imprime um novo gráfico ( exemplo: ano 0 a ano 5 é o grafico 1 - projeto r, ano 0 a ano 5 é o grafico 2 - projeto t )

ClasseDAO

public double[][] Preencher(String grupo) throws SQLException{
    
        Conexao conexao = new Conexao();

        CallableStatement callable = conexao.getConexao().prepareCall("{call graficofluxocaixarelevante(?)} ");      
        callable.setString(1, grupo);
        
        ResultSet registros = callable.executeQuery();  

//fixei os valores conforme o resultado do select acima
//Obs: quando inicializo a quantidadedelinhas = 18 e a quantidade de colunas = 18 o gráfico é exibido, mas tudo com a última linha do select acima
int quantidadedecolunas = 2;
int quantidadedelinhas = 15; // ou 18

        double[][] teste = new double[quantidadedelinhas][quantidadedecolunas];
  
int linha = 0;
int coluna = 0;
        
        while(registros.next()){
            
           //obj = new Grafico();
           obj.setCodigoprojeto(registros.getString("codigoprojeto"));
           obj.setAno(registros.getInt("ano"));
           obj.setFluxo(registros.getDouble("fluxo"));

           int ano = obj.getAno();
           
           teste[linha][coluna] = obj.getFluxo();

           if(ano != linha){
           coluna++;
           linha = 0;
           }
           else
           {
           linha++;
           }
         
        }
        return teste;
        
    }

Código que receberia esse resultado do select

public static CategoryDataset createDataset() throws SQLException {

    GraficoDAO obj = new GraficoDAO();
    jifAvaliacaoprojetos a = new jifAvaliacaoprojetos();
    
        final double[][] data = new double[][]{};
        
        // no return abaixo, segue o método "Preencher" para trazer os dados do select
        return DatasetUtilities.createCategoryDataset("Entrada ", "Projeto ", obj.Preencher(a.jtGrupo.getText()));
                
    }

Erro que dá:

conexao ok
0 - ano
teste[linha][coluna]
0 - linha
0 - coluna
-3440.0
entrou no else
1 - ano
teste[linha][coluna]
1 - linha
0 - coluna
200.32
entrou no else
2 - ano
teste[linha][coluna]
2 - linha
0 - coluna
320.8
entrou no else
3 - ano
teste[linha][coluna]
3 - linha
0 - coluna
190.56
entrou no else
4 - ano
teste[linha][coluna]
4 - linha
0 - coluna
120.48
entrou no else
5 - ano
teste[linha][coluna]
5 - linha
0 - coluna
1180.68
entrou no else
0 - ano
teste[linha][coluna]
6 - linha
0 - coluna
-1220.0
1 - ano
teste[linha][coluna]
0 - linha
1 - coluna
11.8
2 - ano
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
	at Persistencia.GraficoDAO.Preencher(GraficoDAO.java:114)
	at Modelo.BarChart3DDemo1.createDataset(BarChart3DDemo1.java:85)
	at Modelo.BarChart3DDemo1.<init>(BarChart3DDemo1.java:40)
	at Modelo.BarChart3DDemo1.main(BarChart3DDemo1.java:123)
Java Result: 1

Alguém poderia ajudar por gentileza ?

Obrigado