| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2005 15:34:11
|
rodrigowPJ
Thread.start()
![[Avatar]](/images/avatar/1)
Membro desde: 04/03/2005 00:00:00
Mensagens: 45
Localização: 228902528
Offline
|
Oi, sou eu de novo...
fiz o swing funfar com DAO, FactoryDAO, VO....
mas o seguinte:
Como vou fazer com a conexão?
1ª Forma: Pego a conexão pela classe que tem o método main() e fico passando por referência para os meus métodos de inserir, alterar, exluir... de cada BD;
2ª Forma: Declaro uma variável static do tipo Connection na Classe que tem o main() e pego em cada método de inserir, alterar, excluir... MainClass.VarStatic;
o que é melhor? ou pior? Alguém já fez isso?
Att, Rodrigo
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2005 15:43:50
|
pcalcadoPJ
JavaEvangelist
![[Avatar]](/images/avatar/1)
Membro desde: 17/08/2004 00:00:00
Mensagens: 335
Localização: 111093865
Offline
|
Olá,
1 - Por que você está usando VO/TO/DTO?
Usando DAOs, instancie eles, talvez com uma Factory, em cada uso.
|
http://www.fragmental.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/03/2005 16:18:42
|
matheusPJ
GUJ Hacker
![[Avatar]](/images/avatar/1)
Membro desde: 23/03/2003 00:00:00
Mensagens: 6928
Offline
|
Rodrigo, da uma olhada nesse link, tem exemplo de factory em DAO pra resolver esse teu problema de uma forma legal
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
|
http://www.portaljava.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 08:47:42
|
rodrigowPJ
Thread.start()
![[Avatar]](/images/avatar/1)
Membro desde: 04/03/2005 00:00:00
Mensagens: 45
Localização: 228902528
Offline
|
Matheus já fiz como está no http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html.
Tu já tinha me dito isto e também eu já conhecia este... mas como estou adaptando para swing... não sei como fazer com a conexão. Cheguei nestes dois exemplos que falei lá em cima...
Não tenho um web conteiner para ficar pegando conexões...
então eu faço uma vez a conexão e passo pros métodos...
ou crio uma varável estática e chama ela no método atravéz do classe principal...
estou com dúvidas sobre isto...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 09:30:24
|
matheusPJ
GUJ Hacker
![[Avatar]](/images/avatar/1)
Membro desde: 23/03/2003 00:00:00
Mensagens: 6928
Offline
|
e tu notou esses exemplos no link?
CloudscapeDAOFactory
CloudscapeCustomerDAO
note este comentário no CloudscapeCustomerDAO: :grin:
|
http://www.portaljava.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 10:42:57
|
rodrigowPJ
Thread.start()
![[Avatar]](/images/avatar/1)
Membro desde: 04/03/2005 00:00:00
Mensagens: 45
Localização: 228902528
Offline
|
Sim, exatamente como está desctito. A minha DAOFactory é abstrata.
Só mudei o nome das classes e dos métodos.
Mas note que ali (j2ee) existe um web conteiner que gerencia tuas conexões ao BD, certo? Mas numa máquina local não preciso ficar fazendo conexões a torto e a direito. Somente uma conexão quando o kara faz login e desconexão quando fecha o programa... :sad:
Rodrigo
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 11:18:26
|
matheusPJ
GUJ Hacker
![[Avatar]](/images/avatar/1)
Membro desde: 23/03/2003 00:00:00
Mensagens: 6928
Offline
|
vc deve estar se referindo a isso:
tu pode renomear ele pra getConnection(), e conectar ao banco como esta fazendo por ele, e retornar esta conexão dele, é a unica alteração...
|
http://www.portaljava.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 11:47:49
|
rodrigowPJ
Thread.start()
![[Avatar]](/images/avatar/1)
Membro desde: 04/03/2005 00:00:00
Mensagens: 45
Localização: 228902528
Offline
|
matheus wrote:
tu pode renomear ele pra getConnection(), e conectar ao banco como esta fazendo por ele, e retornar esta conexão dele, é a unica alteração... 
Sim. Blz. Mas quando vou usar, por exemplo, a MySQLDAOFactory recebe uma variável estática Connection. Então a minha MySQLClienteDAO, que é a classe que eu faço os insert(), update(), pega MySQLDAOFactory.VariavelStatica e tenho a conexão.
Isto esta certo fazer assim?
Achei que ficou bom... e minhas classes de swing não saber nada de Connection.... só precisam saber qual a factory...
Que se acha?
Rodrigo
P.S.: Obrigado até agora pela atenção...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/03/2005 16:54:24
|
matheusPJ
GUJ Hacker
![[Avatar]](/images/avatar/1)
Membro desde: 23/03/2003 00:00:00
Mensagens: 6928
Offline
|
bem.. veja só, vamos analisar.. hehehe, nesse pattern, se tu usar um pool, qual é o lance.... é tu recuperar uma conexão antes de fazer uma consulta/insert oq for, e logo q fazer tu libera a conexão... certo? esse é um dos princípios de se usar pool.... ok, agora, se tu usar uma conexão fixa com o banco, no getConnection vai te retornar a mesma referencia pra todos os DAOs, isso pq tu nao tem um pool pra gerenciar tuas conexões... bem, não sei se é a melhor maneira de se fazer qnd tu tem uma única conexão statica... mas ao meu ver esta legal..
|
http://www.portaljava.com |
|
|
 |
|
|