Alternativa de biblioteca auxiliar JDBC leve para o Apache Commons DbUtils

Eu acabei de desenvolver minha própria pequena biblioteca auxiliar JDBC, e eu já percebi que pesadelo de manutenção ela será.

Eu não estou procurando um ORM completo, como o Hibernate, apenas algo leve e útil para fazer rapidamente chamadas JDBC passando instruções SQL sem mexer com exceções verificadas, fechando resources manualmente, etc …

De sua experiência, você pode recomendar uma boa biblioteca auxiliar JDBC?

Até agora, eu dei uma olhada no Apache Commons DbUtils, que parece muito bom. Alguma outra ideia?

Aqui está uma lista de ferramentas que “aliviam a dor” ao interagir com o JDBC simples:

  • JdbcTemplate da primavera
  • jOOQ (pode ser usado com strings SQL também – disclaimer: Eu trabalho para o fornecedor)
  • Apache DbUtils (que você mesmo mencionou)
  • JDBI
  • sql2o
  • persista

Há também o ORMLite e o MyBatis, que também são bastante leves. Usar o spring e o rowmappers é muito fácil, mas requer que você lide diretamente com o JDBC. Algo parecido com qualquer um dos itens acima irá esconder um monte disso longe de você, enquanto não é tão complicado como hibernação.

https://code.google.com/p/jdbc-helper/

Aqui está a descrição que eu copiei de sua página de projeto: Inspirado pelos projetos Spring Jdbctemplate e Commons Dbutils, o JdbcHelper é uma biblioteca muito pequena para ajudar os desenvolvedores a codificar operações jdbc comuns. JdbcHelper é muito leve. É apenas ~ 70K e não tem dependencies externas.

Existe o Yank , que é uma camada de persistência JDBC ultraleve que envolve o DBUtils. Para usá-lo você cria para cada tabela um POJO e uma class DAO. Você escreve suas próprias instruções SQL e executa consultas através da class DBProxy. Você não precisa lidar com conexões, ResultSets e outros códigos JDBC de baixo nível. O jar do Yank é de apenas 13 KB a partir do release 2.0.0, e depende somente do SLF4J, do DBUtils e de um jar de database de terceiros, qualquer que seja a tecnologia de database que você esteja usando.

Spring Framework (spring-dao) é seu amigo. Se você programar suas interfaces corretamente, mais tarde (desde que seja necessário), você pode facilmente mudar para algo mais poderoso como o Hibernate. Também não subestime o Hibernate: o SQL nativo dá a você um poder de SQL completo e você ainda pode se beneficiar do mapeamento de objects – algo que você terá que programar de qualquer maneira, a menos que precise executar as consultas tão simples quanto select count(*) from ...