Introdução ao iBatis (MyBatis), uma alternativa ao JDBC e Hibernate
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
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!