Introdução ao iBatis (MyBatis) – Uma alternativa para Hibernate e JDBC

Olá, caros amigos do PTI. Hoje trago para todos um assunto bastante interessante para quem está inserido no mundo da programação. Trata-se do framework iBatis. O texto é uma tradução do post de Loiane Groner, em seu blog oficial. Loiane é uma profissional experiente desse framework e tem deixado excelentes tutoriais em seu blog. Segue o texto.

“Comecei a escrever uma série de artigos sobre o iBatis / MyBatis. Este é o primeiro artigo e ele irá orientá-lo através do que é iBatis / MyBatis e porque você deve usá-lo.

Para quem não sabesobre iBatis / MyBatis ainda, é um framework de persistência – uma alternativa ao JDBC e Hibernate, disponível para plataformas Java e NET. Eu tenho trabalhado com ele por quase dois anos, e estou gostando!

Um primeiro detalhes que você pode observar neste e nos artigos seguintes sobre o iBatis / MyBatis é que eu estou usando os termos Mybatis e iBatis. Por quê? Até junho de 2010, iBatis foi sob licença Apache e, a partir deste ano, os fundadores decidiram movê-lo para o Google Code e renomeá-lo para MyBatis. O framework ainda é o mesmo, só tem um nome diferente agora.
Juntei algumas definições as quais vou citá-las:

O que é o MyBatis/iBatis?

O framework mapeador de dados MyBatis torna mais fácil de usar um banco de dados relacional com aplicações orientadas a objeto. MyBatis trabalha com procedimentos armazenados ou instruções SQL usando um descritor XML. Simplicidade é a maior vantagem do mapeador de dados MyBatis sobre ferramentas de mapeamento objeto relacional.

Para usar o mapeador de dados MyBatis, você usa seus próprios objetos, XML e SQL. Há pouco à saber que você ainda não sabe. Com o MyBatis, você tem todo o poder do SQL e procedimentos armazenados ao seu alcance. (www.mybatis.org)

O iBATIS é baseado na idéia de que há valor em bancos de dados relacionais e SQL, e que é uma boa idéia de abraçar o investimento a nível de indústria em SQL. Temos experiências em que o banco de dados SQL e até mesmo a ele próprio, ter sobrevivido ao código-fonte do aplicativo, e até mesmo a várias versões do código-fonte. Em alguns casos, vimos que um aplicativo foi reescrito em uma linguagem diferente, mas o SQL e banco de dados permaneceram praticamente inalterados.

É por essas razões que iBATIS não tenta esconder ou evitar SQL. É um framework da camada de persistência que abraça o SQL, tornando mais fácil trabalhar com banco de dados e mais fácil de integrar com softwares orientados a objetos modernos. Atualmente, há rumores de que bancos de dados e SQL ameaçam nossos modelos de objeto, mas este não é o caso. iBATIS pode ajudar a garantir que não é. (Livro iBatis em Ação (iBatis in Action))

Então…

O que é iBatis?

  • Um framework JDBC;
  • Os desenvolvedores escrevem SQL, iBATIS o executa usando JDBC;
  • Não precisa mais usar try / catch / finally / try / catch;
  • Um mapeador SQL;
  • Automaticamente mapeia propriedades do objeto em parâmetros de prepared statements;
  • Resulta automaticamente mapas de objetos;
  • Suporte a consultas com relacionamento N +1;
  • Um gerenciador de transações;
  • iBATIS fornece um gerenciamento de transações para operações de banco de dados se nenhuma outra transação está disponível;
  • iBATIS usa o gerenciamento de transações externas (Spring, EJB CMT, etc), se disponível;
  • Grande integração com Spring, mas também pode ser usado sem Spring.

O que não é iBatis?

  • ORM;
  • Não gera SQL;
  • Não tem uma linguagem de consulta de propriedade;
  • Não saber sobre a identidade do objeto;
  • Não transparente persistir objetos;
  • Não construir um cache de objeto;

Essencialmente, iBatis é uma solução de persistência muito leve que lhe dá a maior parte da semântica de um conjunto de ferramentas de mapeamento Objeto/Relacional, sem nenhum drama. Em outras palavras, iBATIS se esforça para facilitar o desenvolvimento de aplicações orientadas a dados abstraindo os detalhes de baixo nível envolvidos na comunicação de dados (o carregamento de um driver de banco de dados, obtenção e gestão de conexões, gerenciar semântica da transação, etc), bem como proporcionar maior nível ORM (mapeamento automatizado e configurável de objetos para chamadas SQL, gerenciamento de dados de conversão de tipo, suporte para consultas estáticas, bem como consultas dinâmicas baseadas em estado de um objeto, mapeamento de joins complexos para gráficos de objetos complexos, etc.). iBATIS simplesmente mapeia JavaBeans para declarações SQL usando um descritor XML muito simples. A simplicidade é a principal vantagem iBATIS sobre outros frameworks e ferramentas de mapeamento objeto relacional (Http://www.developersbook.com).

Quem está usando iBatis / MyBatis?

Existe uma grande quantidade de projetos já utilizando o iBatis. Veja uma lista de exemplo.

Acho que o maior caso é o MySpace, com milhões de usuários. Muito bom!”

Espero que tenham gostado do post. Dúvidas, deixem nos comentários. Até o próximo post!

Autor/Post Original: Loiane Groner
Tradução: Google Translator
Adaptação: Sérgio Novelli

Sérgio Novelli

Mais artigos deste autor »

É Especialista em Análise e Desenvolvimento de Sistemas pelo ISFACES e Bacharel em Sistemas de Informação pela Unipar.

Com ampla experiência em TI, hoje é ScrumMaster da equipe de desenvolvimento de sistemas web/mobile na Alkantára. Como ferramentas de desenvolvimento utiliza PHP, MySQL, PostgresSQL, Twitter BootStrap, JQuery e Ajax. É estudante assíduo dos métodos ágeis Kanban e SCRUM e suas aplicações.


2 Comentários

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!