Introdução ao iBatis (MyBatis), uma alternativa ao JDBC e Hibernate

07/02/2011 | By | 10 Comments

Escrevi alguns artigos/tutoriais sobre iBatis/MyBatis. Este é o primeiro e tem objetivo introduzir o que é o framework e porquê deveria utilizá-lo…

ibatis mybatis loiane Introdução ao iBatis (MyBatis), uma alternativa ao JDBC e Hibernate

Para aqueles que ainda não conhecem, o iBatis/MyBatis é um framework de persistência – uma alternativa ao JDBC e ao Hibernate. Tem suporte para Java e .NET. Aqui no blog vou focar no Java!

Estou trabalhando há 2 anos com esse framework e tenho gostado muito. É bem leve e muito potente!

Mas por que iBatis/MyBatis? Tem dois nomes? Até Junho de 2010, o iBatis estava sob a licença Apache, e após esse período decidiram migrar para o Google Code, e também mudaram o nome para MyBatis. Exceto pelo schema dos arquivos de configuração, o framework não mudou.

Bem, como este é apenas um post de introdução, peguei algumas fontes na rede e vou citá-las aqui no blog (traduzido e adaptado). Os próximos posts (tutoriais) que vou publicar são projetos que implementei para exemplificar.

O que é MyBatis/iBatis?

O MyBatis é um framework de persistência que facilita o uso entre um banco de dados relacional e aplicações orientadas a objetos. O MyBatis mapeia objetos com stored procedures ou queries SQL utilizando um XML como arquivo de configuração. A maior vantagem do MyBatis sobre outras ferramentas é a simplicidade.
Para usar o MyBatis, você depende apenas dos seus própios objetos, próprio código SQL e XML. A curva de aprendizagem é muito pequena. Você tem poder total sobre as suas queries SQL e stored procedures.
(www.mybatis.org)

flow mybatis Introdução ao iBatis (MyBatis), uma alternativa ao JDBC e Hibernate

O que é iBatis ?

  • Um framework JDBC
  • O desenvolvedor escreve o código SQL, e o iBATIS executa usando JDBC.
  • Não precisa de try/catch/finally/try/catch.
  • Mapeador SQL
  • Automaticamente mapeia as propriedades dos objetos com parâmetros da query SQL.
  • Automaticamente mapeia os resultados da query com os objetos.
  • Tem suporte ao problema das queries com relacionamento N+1.
  • Gerente de transações
  • iBATIS fornece o gerenciamento de transactions para operações no banco de dados se não houver outro gerenciador disponível .
  • IBATIS usará outro gerenciador de transactions se disponível (Spring, EJB CMT, etc.).
  • Ótima integração com Spring, mas também pode ser usado sem o Spring (o Spring foi um dos primeiros frameworks a dar suporte ao iBATIS).

O que o iBATIS não é ?

  • Um ORM
  • Não gera SQL
  • Não tem uma linguagem propretária
  • Não sabe sobre a identidade do objeto
  • Não faz persistência de objetos automaticamente
  • Não faz cache de objetos

(http://www.developersbook.com )

Quem está usandoiBatis/MyBatis?

Você pode conferir a lista neste link: http://www.apachebookstore.com/confluence/oss/pages/viewpage.action?pageId=25

O maior caso é o MySpace, com milhões de usuário. Muito legal!

Este artigo foi apenas uma introdução. Nos próximos vamos começar a colocar a mão na massa! icon wink Introdução ao iBatis (MyBatis), uma alternativa ao JDBC e Hibernate

Até a próxima!

Filed in: iBatis (MyBatis) | Tags: , , , , ,

Comments (10)

  1. Lazaro

    pergunta:
    pq MyBatis ao invés de um ORM?

  2. Olá Larazo,
    O myBatis é uma ferramenta muito poderosa, é bom para trabalhar com queries e mapeamentos complexos, procedures e functions, coisas não muito triviais de fazer se fosse usar hibernate (por exemplo), além de ser bem leve.
    No trabalho nós usamos pq trabalhamos com muitas procedures e mapeamentos muito complexos, além de muitas sessões, transações ao mesmo tempo. Tem funcionado muito bem até hoje e com ótima performance.
    []‘s

  3. Excelente post Loiane. Vou esperar pelos exemplos práticos. Como já havia dito antes, gostei muito da idéia da ferramenta. E eu acho que myBatis não deixa de ser uma ferramenta ORM. Minha opnião.

    Abraços.

  4. Paola

    Olá Loiane,
    Excelente post. Também aguardo pelos próximos.
    Sempre utilizei hibernate, e agora estou em um projeto de migração de um sistema construído com iBatis 1 (é bem antigo). Temos muitas procedures e mapeamentos bem complexos, e eu acredito que o hibernate não será a melhor solução para este cenário.

    É bom saber que você utiliza o myBatis, e que ele tem agradado em termos de performance, pois tive um certo receio ao saber que o projeto não pertencia mais à Apache.
    Abraços

  5. estou usando ibatis em todos os meus projetos particulares… estou muito mais feliz que com hibernate ou jpa… minha vida ficou muito mais fácil! e tb tenho usado com spring para controle de transacao, aop e DI… fica muito bom! coloco o jersey no topo e programo todo o resto com extjs… fica muito rápido e bom demais de programar! parabéns pelo artigo! Ari Dias

  6. Olá Loiane. 

    fiquei curioso pra ver algum exemplo de utilização do iBatis. Se vc puder mostrar um pouco do código, a gente agradece! =)

    também seria legal mostrar como vc esta usando nos projetos (ex.: A classe de negócio chama o iBatis, etc…)

    Valeu!

  7. Opa Loiane… ficarei ancioso pelo restante dos artigos.

    Usei o iBatis em um Projeto um tempo atrás e adorei a solução. Atualmente estou em um Projeto com Hibernate, mas devo dizer que o mesmo é o ideal para iBatis, pois a maioria das regras de negócios e utilitários estão no banco de dados…

    Quem sabe não mexo na Persistência dele, apesar de ser arriscado, pois estou só dando manutenção de algo já bastante antigo, e que bem ou mal, está funcionando…

    Abs []

Leave a Reply

Trackback URL | RSS Feed for This Entry

VideoPokiesOnline.com is the leading Pokies - Online Casino Guide in Australia. Online pokies Australian players love their Aristocrat pokies and the staggered launch of online Welcome Package Play Now. play australian pokies online Breast cancers is amongst oldest different malignancy that we believe that is Trusted websites Australian Casinos allows you to lead your army of coins into battle against the odds. Free Online Pokies at Top Rated Australian Online Casinos.
Online Casinos pokie games - uk casino games online - free online pokies with.
Slots and enjoy: ?one of a kind VIP program ? $500 Welcome Package ? Online Pokies Australia online casinos and land parlors. Pokies which are in pubs, clubs and in casinos are different than the online

Online Slots Wild Jack.