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

07 Feb 2011
2 mins read

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

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)

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! ;)

Até a próxima!