0

Conexão com o Banco de Dados com MyBatis

mybatisLogoConexão com o Banco de Dados com MyBatis

Nesta postagem realizaremos a conexão com uma base de dados postgres utilizando o framework myBatis. Primeiramente criaremos a base de dados uma tabela onde serão persistidos os dados.

Script do Banco de Dados

 

Criando o Projeto no Eclipse

Para este tutorial utilizo o Eclipse Juno e o Banco de Dados PostGres. Além das bibliotecas do MyBatis descritas abaixo:

bibliotecasMybatis

Download Libs MyBatis

No Eclipse definimos a seguinte estrutura de projeto:

estruturaProjetoMybatis

Classe PessoaVo

Primeiramente criaremos um exemplo simples com apenas os dados de contato de uma pessoa, nos próximos posts abordarei relacionamentos e consultas complexas.

O Arquivo de Configuração SQLMapConfig.xml

No arquivo SQLMapConfig.xml criado a raiz do projeto contêm as configurações  da conexão com o postgres, tais como a url e porta do banco, nome da base, o alias da classe a ser mapeada, o mapper de persitência, etc.

Codificação:

Configurações de Conexão do MyBatis:

Type Aliases – Apelidos

Um type alias é um nome menor para um tipo Java. É apenas relevante para a configuração em XML e só existe para evitar redundância de digitar o nome completo de uma classe.

Usamos PessoaVo como tipo no resultMap no arquivo PessoaSqlMap.xml  porque configuramos PessoaVo como apelido.

Environments – Ambientes

O MyBatis pode ser configurado para ser usado em vários ambientes. Isso ajuda a re-usar os mapeamentos XML e, vários bancos de dados. Você pode configurar vários ambientes, mas você pode escolher apenas UM ambiente por instância do SqlSessionFactory.

A ambiente padrão/default e o ID do ambiente acho que se auto-explica. Você pode dar o nome que você desejar, mas tenha certeza de que um deles seja o mesmo que o padrão.

Transaction Manager – Gerenciamento de Transações

Existem dois tipos de TransactionManager:

  • JDBC – esta configuração faz o uso das features de commit e rollback do JDBC diretamente. Depende da conexão do dataSource para gerenciar o escopo da transação.
  • MANAGED – esta configuração não faz nada. Nunca faz commit ou rollback. Deixa toda a responsabilidade para o container de gerenciar o ciclo de vida da transação. Alguns containers não esperam que isso seja feito, e se precisar fechar a conexão, é melhor setar a propriedade closeConnection para false.

Data Source

O element dataSource configure a fonte da conexão do JDBC usando a interface padrão do JDBC DataSource.

  • driver
  • url
  • username
  • password

Connection Factory

Toda aplicação que utiliza o MyBatis é centralizada numa instância do SqlSessionFactory. Uma instância do SqlSessionFactory pode ser adquirida usando o SqlSessionFactoryBuilder. O SqlSessionFactoryBuilder pode criar uma instância do SqlSessionFactory a partir de um XML ou a partir de uma instância customizada da classe Configuration. (Fonte: Loiane.com)

Configuração do Connection Factory

Mapeando a Classe PessoaVo

Para mapear a classe PessoaVo, criamos um xml com as configurações de persistência do objeto da classe no banco, para isso inserimos as queries de persistência no mapper abaixo:

Configuração do Mapper da classe PessoaVo

  • resultMap – descreve como carregar os objetos do banco de dados para os resultsets.
  • insert – query de insert mapeada.
  • update – query de update mapeada.
  • delete –  query de delete.
  • select – query de select mapeada.

Camada de acesso aos dados

Para que tudo funcione devidamente só resta a configuração do DAO da nossa classe PessoaVo.

Testando o projeto com MyBatis

Realizando o um teste básico do modelo de dados implementado.

 

 

Paulo R. Marinho

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

84 + = 89