Connection con = null;
try {
final String SQL = "select usuario.codigousuario, usuario.nome, usuario.cpf, usuario.rg, usuario.orgao, usuario.foneresidencial,
usuario.fonecelular,usuario.crmv, endereco.rua, endereco.cep, endereco.bairro, endereco.numero,endereco.cidade, endereco.uf from usuario, endereco where usuario.endereco_codigoendereco = endereco.codigoendereco"
final String DRIVER = "jdbc:postgresql:";//DRIVER DO SEU BANCO --EXEMPLO COM POSTGRESQL
final String URL = "//localhost:5432/";
final String DATABASE = "seu_banco";
final String USER = "seu_usuario_do_banco";
final String PASS = "sua_senha_do_banco";
con = DriverManager.getConnection(DRIVER+URL+DATABASE, USER, PASS);
PreparedStatement ppst = con.prepareStatement(SQL);
ResultSet rs = ppst.executeQuery();
//SUPONHO QUE VC TENHA UMA CLASSE "Usuario"
List<Usuario> users = new ArrayList<Usuario>();
while(rs.next()){
Usuario u = new Usuario();
u.setCodigo(rs.getInt("nome_da_coluna_que_representa_o_codigo_no_banco");
u.setNome(rs.getString("nome_da_coluna_que_representa_o_nome_no_banco");
//...TODOS OS ATRIBUTOS SETADOS
users.add(u);
}
} catch (Exception e) {
System.out.println(e.getMessage());
}finally{
con.close();
}
É sempre recomendado que vc coloque isso em uma DAO, que vai gravar o teu usuário e fazer todas as operações com o banco, e também que vc separe a parte de conexão em uma classe que ficaria encarregada de conectar e apenas te devolver a conexão, para que vc não tenha isso em todas as outras DAOs do seu sistema … Recomendo estudar um pouco sobre MVC caso queira ter tudo mais organizado, mas a forma de conexão é esta… Abraço!
pessoal esse selec tem um relacionamento quero saber como faço para retornar os dados das duas tabelas do relacionamento ao mesmo tempo para montar um dataTable em jsf
Bom, pela sua SQL você tem um relacionamento Usuário Nx1 Endereço, onde 1 usuário possui 1 endereço e 1 endereço pode ser de vários usuários, certo?
Basicamente você deve mapear isso para suas classes…
public class Usuario {
private int codigo;
private Endereco endereco;
//...
}
e na hora de iterar o ResultSet:
[code]//…
Usuario usuario;
while (rs.next()) {
usuario = new Usuario();
usuario.setXXX(…); // preenche os campos do usuario com o ResultSet
if (rs.getString(“rua”) != null) {
Endereco endereco = new Endereco();
// popula o endereco do usuário…
usuario.setEndereco(endereco);
}
}[/code]
Entendeu?
Se você quiser facilitar isso tudo, te aconselho a dar uma olhada no link do MentaBean que está na minha assinatura… É bem o que você precisa ;).