Pessoal,
Criei 3 tabelas (USUARIOS, DISCIPLINAS e NOTAS) c/ seus relacionamentos (chave primaria, estrangeira etc).
Em uma classe NotasDAO, por ex., há 1 método listarNotas que traz: o nome (do usuário que deu a nota), a nota e a disciplina.
Para obter esses dados montei a query com join entre as tabelas (vide abaixo).
Como eu faço para incluir resultSets em uma List proveniente de 2 ou mais tabelas atravé de DAO ?
Segue o trecho do código:
public List<Notas> listaNotas() {
List<Notas> nota = new ArrayList<Notas>();
if (abreConexao()) {
try {
st = cn.prepareStatement("SELECT USUARIO, DISCIPLINA, NOTA "
+ "FROM atividade01.notas y inner join atividade01.usuarios "
+ "on id_usuario=id_aluno inner join atividade01.disciplinas x "
+ "on x.id_disciplina=y.id_disciplina where y.id_aluno=?");
rs = st.executeQuery();
while (rs.next()) {
Notas nt = new Notas();
nt.setUsuario(rs.getString("USUARIO")); //setUsuario e setDisciplina nao existem no bean Notas. O que posso fazer aqui ? Crio 1 bean e
nt.setDisciplina(rs.getString("DISCIPLINA"));//uso o setter dele, por ex. 1 bean que relaciona os atributos das tables envolvidas ?
nt.setNota(rs.getDouble("NOTA"));
nota.add(nt);
}
} catch (Exception ex) {
erro = ex.getMessage();
} finally {
fechaConexao();
}
}
return nota;
}
Se alguém tiver algum exemplo de código seria ótimo.
Agradeço pela atenção.