| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 14:59:16
|
krolbg
Entusiasta Java
Membro desde: 23/05/2007 19:36:18
Mensagens: 23
Offline
|
Olá, tudo bem?
Estou começando a aprender iBatis e DAO..
De acordo com as explicações do Developer Guide disponível no site do iBatis http://ibatis.apache.org/docs/java/pdf/iBATIS-SqlMaps-2_en.pdf, eu preciso dos seguintes JARs para compilar meu programa:
ibatis-common-2.jar
ibatis-sqlmap-2.jar
ibatis-dao-2.jar
Mas parece que a documentação se refere ao iBatis 2.0.. e a minha versão é o iBATIS for Java 2.3.0 General Availability.
No site mesmo fala que nessa nova versão não tem o JAR para o DAO:
"The Java DAO framework has been removed from iBATIS as of release 2.3.0. We heartily recommend that you consider using the Spring Framework for all your DAO needs! Spring offers great support for iBATIS."
Ta bem. Dito isso, baixei o Spring Framework 2.0.6.
Mas tem milhões (!!!!) de JARs dentro dele.. e eu não sei quais são os necessários para rodar um aplicativo que tenha iBatis, DAO, SQL Maps..
Tem um monte.. e dentre elas:
spring-dao
spring-ibatis
spring-beans
Seriam essas? Quais são os acréscimos nas configurações utilizando esse Spring?
Obrigada pela atenção!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 15:56:38
|
pedromv
Thread.start()
Membro desde: 16/08/2006 13:48:38
Mensagens: 47
Offline
|
Olá,
Para começar você pode utilizar o arquivo único spring.jar e, depois, para deixar o seu projeto mais leve, você pode substituí-lo pelos arquivos spring-dao.jar e spring-ibatis.jar. O Spring fornece templates para serem utilizados em conjunto com o iBatis.
Uma boa leitura que você pode fazer é: http://static.springframework.org/spring/docs/2.0.x/reference/orm.html.
Espero ter ajudado.
[]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 17:34:27
|
WilliamSilva
Moderador
Membro desde: 02/03/2005 11:08:44
Mensagens: 1747
Localização: Santos -SP.
Offline
|
Use o iBATIS 2.3.0
Use a documentação em PDF (=Developer Guide == 60 pgs.) que está na sua pasta descompactada, comece estudando os SQLMap e os mapeamentos SQL, depois estude os DAOs.
http://ibatis.apache.org/docs/java/pdf/iBATIS-SqlMaps-2-Tutorial_es.pdf
http://www.guj.com.br/posts/list/63850.java#335373
sds.
|
= William Silva =
iSHARE - Document Management System
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 11:15:54
|
krolbg
Entusiasta Java
Membro desde: 23/05/2007 19:36:18
Mensagens: 23
Offline
|
Olá,
obrigada pelas respostas!
Quero um exemplo que apenas implemente o básico para eu ter certeza que está tudo funcionando.. de preferência um que integre iBatis e DAO..
Comecei a implementar o exemplo do tutorial http://people.apache.org/dist/ibatis/ibatis.java/docs/iBATIS-SqlMaps-2-Tutorial_en.pdf
mas acabei achando o seguinte: http://www.onjava.com/pub/a/onjava/2005/08/10/ibatisdao.html, que já implementa com DAO..
e tem esse também: http://www.devx.com/Java/Article/31481/0/page/1
Enfim, estou bastante perdida!!
Meu trabalho é transformar um programa implementado em Hibernate com DAO em iBatis.. Vocês sabem onde posso achar algum exemplo deste tipo?
Quais desses acima seria o mais completo? Obrigada..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 12:06:26
|
agodinhost
Virtual Machine Man
![[Avatar]](/images/avatar/b8ffa41d4e492f0fad2f13e29e1762eb.jpg)
Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline
|
Olha, o iBatis tem uma abordagem bem diferente da do Hibernate.
Simplificando, o hibernate escreve as querys pra vc enquanto que o iBatis não. No iBatis você ira escrever todas suas querys (inserts, updates, deletes e chamadas pra pl) dentro de arquivos de configuração. Dentro desses mesmos arquivos você também escreverá "mappings" de TO para o banco - esses mappings são os trechos nos quais você diz quais campos do banco se relacionam com quais métodos do seu to.
Acho que pro trabalho que vc tem o artigo do devx não vai ajudar muito. Ele está falando de spring e vc, a princípio e simplificando, não vai precisar de spring.
O artigo do ibatis DAO está meio velhinho pois o iBatis DAO, até onde sei, foi descontinuado (o spring faz isso).
IMO, acho que vc pode se ater à documentação (pdf) original do sqlMap(ibatis). Você pode procurar por exemplos de código na web.
|
"The difference between theory and practice is that, in theory, there is no difference between theory and practice". |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 12:54:03
|
krolbg
Entusiasta Java
Membro desde: 23/05/2007 19:36:18
Mensagens: 23
Offline
|
Mas para usar o DAO com iBatis, eu preciso de Spring, não?
No site do iBatis dizem que nessa nova versão do iBatis não tem o JAR para o DAO:
"The Java DAO framework has been removed from iBATIS as of release 2.3.0. We heartily recommend that you consider using the Spring Framework for all your DAO needs! Spring offers great support for iBATIS."
..
Ou eu não usaria DAO na minha implementação com iBatis?
É o mesmo DAO, não é? O usado em Hibernate e o usado em iBatis?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/07/2007 13:09:38
|
agodinhost
Virtual Machine Man
![[Avatar]](/images/avatar/b8ffa41d4e492f0fad2f13e29e1762eb.jpg)
Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline
|
krolbg wrote:Ou eu não usaria DAO na minha implementação com iBatis?
É o mesmo DAO, não é? O usado em Hibernate e o usado em iBatis?
É o mesmo DAO sim. Vc pode escrever esses DAOs com ou sem o spring.
Você vai usar DAO normalmente com o ibatis, só que vc vai escrever esses caras. Eu aconselho sem o spring pois fazendo assim vc só terá dependência com o iBatis. O spring apenas te dá uma classe template pra esse DAO (que vc mesma pode escrever) pra que vc possa extendê-lo só que esses templates são pra java 5. Se você optar por ibatis puro vc poderá trabalhar com java 1.4.
Só a título de exemplo:
O arquivo de configuração dessa classe:
Perceba que o código é bem repetitivo.
Woody
|
"The difference between theory and practice is that, in theory, there is no difference between theory and practice". |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/07/2007 13:17:15
|
krolbg
Entusiasta Java
Membro desde: 23/05/2007 19:36:18
Mensagens: 23
Offline
|
entendi..
então o meu trabalho seria, em suma, mudar o mapeamento original do hibernate e as referências ao DAO relativas ao hibernate..
O meu AbstractDAO.java original é o seguinte:
This message was edited 1 time. Last update was at 16/10/2007 17:20:45
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/07/2007 19:35:42
|
agodinhost
Virtual Machine Man
![[Avatar]](/images/avatar/b8ffa41d4e492f0fad2f13e29e1762eb.jpg)
Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline
|
Isso.
Só uma dica: AbstractDAOImpl não é um bom nome, se é Impl não é abstract. E ainda, se essa classe estiver mapeando uma entidade em especial é sempre bom nomear a classe com o nome dessa entidade.
Se vc for utilizar EJB: Seus métodos getSessao e fechar sessão não deveriam mexer com transação, uma vez que o container controlará isso declarativamente.
Eu sempre deixo o gerenciamento de transação fora do meu DAO quando estou usando EJB.
|
"The difference between theory and practice is that, in theory, there is no difference between theory and practice". |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/07/2007 09:27:59
|
krolbg
Entusiasta Java
Membro desde: 23/05/2007 19:36:18
Mensagens: 23
Offline
|
Se vc for utilizar EJB: Seus métodos getSessao e fechar sessão não deveriam mexer com transação, uma vez que o container controlará isso declarativamente.
Eu sempre deixo o gerenciamento de transação fora do meu DAO quando estou usando EJB.
Não entendi muito bem.. :/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/07/2007 12:20:27
|
agodinhost
Virtual Machine Man
![[Avatar]](/images/avatar/b8ffa41d4e492f0fad2f13e29e1762eb.jpg)
Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline
|
vc vai usar EJB?
|
"The difference between theory and practice is that, in theory, there is no difference between theory and practice". |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/07/2007 12:58:47
|
WilliamSilva
Moderador
Membro desde: 02/03/2005 11:08:44
Mensagens: 1747
Localização: Santos -SP.
Offline
|
A meu ver se vc. tem os DAOs, vc. tem a classe de negócios p/ acesso ao seu SGBD. O que vai facilitar, o problema de conceito é que vc. deve olhar/estudar as suas camadas de persistência e criar um outro projeto "ajustando" os DAOs do ORM Hibernate para o SQLMaps do iBATIS que é um Framework que irá trabalhar com suas clausulas SQL .
O que posso te adiantar é que vc. me envie uma mensagem privada com seu e-mail que vou enviar um exempli de iBATIS compartilhando o DAOs c/ Hibernate e alguns materiais sobre SpringDAO que vai facilitar muita coisa para vc. junto ao iBATIS SQLmaps.
|
= William Silva =
iSHARE - Document Management System
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/07/2007 21:47:23
|
Alexandre Ferreira
Virtual Machine Man
![[Avatar]](/images/avatar/5898493fbdf4a44a24084021b2215f85.jpg)
Membro desde: 20/09/2006 20:07:03
Mensagens: 520
Localização: Rio de Janeiro
Offline
|
krolbg , prometo que no fim de semana post uns exemplos usando DAO e DAOGeneric.
Passe seu email pra o William, ele me enviou quando eu iniciei com Ibatis, valeu muito apena.
Dica para todos voces: Baixem o AppFuse e veja o DAO do mesmo usando Ibatis.
Existem 3 implementacoes. A DaoGeneric e DaoUtil são bastante produtiva, pois usa uma nomeclatura boa para os XMLs.
[]'s
|
Alexandre Ferreira
Blog: http://alexandreferreira.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/07/2007 13:15:24
|
krolbg
Entusiasta Java
Membro desde: 23/05/2007 19:36:18
Mensagens: 23
Offline
|
Sim sim, passei meu email pro William e, realmente, está me ajudando muito!
krolbg , prometo que no fim de semana post uns exemplos usando DAO e DAOGeneric.
Passe seu email pra o William, ele me enviou quando eu iniciei com Ibatis, valeu muito apena.
ok, vou ficar esperando! =]
|
|
|
 |
|
|