Artigo Java Magazine 29 - Commons DBUtils Aplicado

Conheça mais um componente do Jakarta Commons, o DButils, que reduz drasticamente o código em DAOs e outras classes de acesso a dados.

Esse artigo faz parte da revista Java Magazine edição 29. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Commons DBUtils Aplicado

Simplificando o Código de Banco de Dados

Conheça mais um componente do Jakarta Commons, o DButils, que reduz drasticamente o código em DAOs e outras classes de acesso a dados

Uma questão comum em projetos Java é como desenvolver a camada de persistência. Hoje existem ferramentas e tecnologias com esse fim para todos os gostos, como Hibernate, JDO, Ibatis etc. Mas o que me motivou a preparar esse artigo foi não poder usar nenhum desses mecanismos – uma experiência vivida em um dos projetos que já trabalhei.

Nossa equipe foi apenas orientada a criar ou utilizar algo que poupasse o esforço de integração com o banco de dados, simplificando ou eliminando tarefas trabalhosas e repetitivas, como abrir e fechar ResultSets, carregar Value Objects e implementar código de acesso em DAOs (veja o quadro "Tira-dúvidas"). Foi quando constatamos a importância do projeto Commons na vida do programador. A utilização do DBUtils trouxe uma solução produtiva dentro da imposição que nos fora feita.

O DBUtils visa simplificar o código de acesso a dados com JDBC. Ele preenche automaticamente propriedades de JavaBeans com dados de ResultSets e encapsula o tratamento de vários detalhes da API JDBC (por exemplo, o fechamento de ResultSets e Statements).

Codificação inicial

Para o exemplo criado neste artigo, foi utilizado o MySQL (versão 4.1) e seu driver JDBC, porém qualquer banco de dados com um driver JDBC atualizado pode ser utilizado. Os exemplos usam uma tabela chamada Cliente cuja definição é mostrada na Listagem 1.

A classe ClienteVO mostrada na Listagem 2 é um JavaBean simples. Para que o mapeamento de dados automático realizado pelo DBUtils funcione, os nomes dos atributos da classe devem ser os mesmos que os dos campos da tabela. Todo o uso da API DBUtils foi centralizado numa classe utilitária chamada SQLUtil (Listagem 3). Essa classe mostra a recuperação de um objeto genérico, através do método obtemObject(), e a recuperação de uma lista de objetos, usando o método obtemLista()" [...] continue lendo...

Artigos relacionados