DAO + findBy

7 respostas
jingle

Olá gostaria de saber como vocês fazem com seus DAO’S pra fazerem pesquisas… to começando a trabalhar com isso agora, e acho meio estranho te que fica criando um método pra cada parametro diferente na pesquisa… é assim mesmo? ou vocês fazem algum método mais genérico pra isso?

exemplo do que to falando

na:

usuarioDAO

tem os findBy da vida:

findByID(){
		//...
		crit.add(Restrictions.eq("id", id));
		return crit.uniqueResult();
}

findByNome(){
 //metodo que faz um filtro pelo nome e retorna lista
}

e assim por diante…

7 Respostas

R

olha um exemplo pra vc adicionar um contato…

1 package br.com.jdbc.dao;
2
3 // imports aqui (CTRL+SHIFT+O)
4
5 public class ContatoDAO {
6
7 // a conexão com o banco de dados
8 private Connection connection;
9
10 public ContatoDAO() throws SQLException {
11 this.connection = ConnectionFactory.getConnection();
12 }
13
14 public void adiciona(Contato contato) throws SQLException {
15
16 // prepared statement para inserção
17 String sql = "insert into contatos (nome,email,endereco) values (?,?,?)";
18 PreparedStatement stmt = connection.prepareStatement(sql);
19
20 // seta os valores
21 stmt.setString(1,contato.getNome());
22 stmt.setString(2,contato.getEmail());
23 stmt.setString(3,contato.getEndereco());
24
25 // executa
26 stmt.execute();
27 stmt.close();
28 }
29 }
R

entendeu?

jingle

opa valeu, eu até sei como fazer só tava na duvida de como é os padrão de fyndBy (de Procura) que o pessoal aqui do forum ta usando.
se é criando um método findBy para cada filtro diferente ou se criam um unico fyndBy mais generico.

formigaotts

jingle:

opa valeu, eu até sei como fazer só tava na duvida de como é os padrão de fyndBy (de Procura) que o pessoal aqui do forum ta usando.
se é criando um método findBy para cada filtro diferente ou se criam um unico fyndBy mais generico.

Um para cada tipo de consulta.

sergiotaborda

Não é criado um método para cada parametro. É criado um método para cada objetivo da pesquisa.
não crie um método genérico isso é ir contra o padrão.

R

isso, cria um pra cada método

renanreismartins

vc pode usar akele query By Example do hibernate, caso esteja utilizando ele

abrassssssssss

Criado 3 de novembro de 2009
Ultima resposta 3 de nov. de 2009
Respostas 7
Participantes 5