Dúvida DAO, conexão aberta...  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
darkmind
Thread.start()

Membro desde: 26/12/2007 12:08:31
Mensagens: 27
Offline

É o Seguinte pessoal...
estou desenvolvimento um pequeno sistema em Swing e me deparei com o seguinte problema.. da um certo momento eu preciso fazer um consulta SELECT no banco por ex. dos fornecedores só que assim que eu faço esse select eu fecho a conexão com o banco, mas neste caso eu preciso manter essa conexão aberta pois vou manipular algumas informações sobre este fornecedor de exemplo, ou seja tenho q trancar este registro para ninguém mais ter acesso a ele, descobri q eu posso usar o no Mysql o SELECT * FROM <Table> FOR UPDATE. porém se eu n fechar a conexão dentro da minha classe q faz a consulta... eu não consigo fecha-la mais... vou postar o código pra entenderem melhor...





Aqui é a classe onde recebo o resultado da consulta (componentes Swing.. tables.. etc..) onde vou manipular em memória... e vou chamar uma consulta de uptade (queria usar a mesma conexão para manter o registro em lock no banco.. ) e depois deste update ai sim... dar um close na conexão.





Qualquer coisa meu msn é kenedy@solutionsti.info (Estou estudando java... ainda estou aprendendo..) Obrigado.

-------------------------------------------------------
Kenedy Roger M. Silva
Solutions - Tecnologia da Informação.
[MSN]
luBS
JavaBaby

Membro desde: 10/05/2006 14:00:27
Mensagens: 86
Localização: São Paulo
Offline

Então, seu DAO esta com muita responsabilidade, ele não deveria ser o responsável por abrir e fechar a conexão, e sim receber ela no construtor por exemplo (injeção de dependencia).

Dessa forma, vc pode controlar melhor sua conexão, mantendo ela aberta por mais tempo.

http://luizroos.blogspot.com/
darkmind
Thread.start()

Membro desde: 26/12/2007 12:08:31
Mensagens: 27
Offline

Seria fazer assim???


-------------------------------------------------------
Kenedy Roger M. Silva
Solutions - Tecnologia da Informação.
[MSN]
luBS
JavaBaby

Membro desde: 10/05/2006 14:00:27
Mensagens: 86
Localização: São Paulo
Offline

Sim, assim vc tem mais cotrole e seu DAO não tanta responsabilidade

Agora para ficar melhor ainda, só falta colocar algum framework de ioc (tipo spring) ai, que ele gerencia a criação de objetos para vc... usando spring vc tera ajuda ateh para controlar a transação.

http://luizroos.blogspot.com/
darkmind
Thread.start()

Membro desde: 26/12/2007 12:08:31
Mensagens: 27
Offline

Mas eu consigo documentação em português pra esse assunto..??
eu fico meio perdido java tem tando framework... e eu vou lembrar to usando Swing.

-------------------------------------------------------
Kenedy Roger M. Silva
Solutions - Tecnologia da Informação.
[MSN]
luBS
JavaBaby

Membro desde: 10/05/2006 14:00:27
Mensagens: 86
Localização: São Paulo
Offline

Ix cara, para qualquer framework vc vai precisar entender um pouco de inglês, até tem material em português, mas vc com certeza vai chegar em um ponto que precisa conhecer e pesquisar em docs em inglês.

Segue alguns frameworks de ioc que você pode usar

Spring - http://static.springsource.org/spring/docs/2.5.x/reference/

Pico - Container http://www.picocontainer.org/introduction.html

Guice - http://code.google.com/p/google-guice/

A e isso é independente se você esta fazendo um sistema desktop ou web

http://luizroos.blogspot.com/
darkmind
Thread.start()

Membro desde: 26/12/2007 12:08:31
Mensagens: 27
Offline

Achou que vou de Spring mesmo... é o que to mais vendo falar sobre ele na internet... quanto ao inglês... até entendo alguma coisa.. mas meu português é bem melhor hehehehe...(vou correr atraz disto..). vlw amigo pela ajuda... obrigado!

-------------------------------------------------------
Kenedy Roger M. Silva
Solutions - Tecnologia da Informação.
[MSN]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team