Dúvida em relatório e collection

Bom dia galera :smiley:

To com uma dúvida: Eu tenho arquivos na tabela e to criando relatórios. Eu consegui preencher o relatório certinho se eu definir os valores do meu VO, mas eu queria saber como que eu faço para esses valores serem preenchidos sozinhos diretamente do banco. Acho que eu preciso usar uma Collection, certo?

Alguém pode dar uma dica de como fazer isso?

Vou colar meu código abaixo ( com os valores definidos do VO ) para que vcs vejam o que eu fiz:

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import java.sql.*;
import java.util.*;

public class Praca {
	private static Connection getConnection() throws ClassNotFoundException, SQLException {
		String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
		String url = "jdbc:microsoft:sqlserver://casa007:1433;DatabaseName=dvdteste";
		String user = "sa";
		String password = "sa";
		Class.forName(driver);
		Connection con = DriverManager.getConnection(url,user,password);
		return con;
	}
	
	public void geraRelatorio() throws JRException, Exception {
//popular o vo
		PracaVO vo = new PracaVO();
		vo.setId(new Integer(1));
		vo.setNome("Nome1");
		Collection collection = new ArrayList();
		collection.add(vo);
//		
		JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(collection);
		JasperExportManager.exportReportToPdfFile(JasperFillManager.fillReport("Praca.jasper", new HashMap(), beanCollectionDataSource), "teste2.pdf");
	}
	
	public static void main(String[] args) throws JRException, Exception {
		new Praca().geraRelatorio();
	}
}