Je viens de développer ma toute petite bibliothèque d'assistance JDBC, et j'ai déjà réalisé à quel point ce serait un cauchemar de maintenance.
Je ne cherche pas un ORM à part entière, comme Hibernate, juste quelque chose de léger et utile pour passer rapidement des appels JDBC en passant des instructions SQL sans jouer avec les exceptions vérifiées, fermer les ressources manuellement, etc ...
D'après votre expérience, pouvez-vous recommander une bibliothèque d'aide JDBC Nice?
Jusqu'à présent, j'ai jeté un œil à Apache Commons DbUtils ce qui semble plutôt bien. Une autre idée?
Voici une liste d'outils qui "soulagent la douleur" lors de l'interaction avec un JDBC simple:
https://code.google.com/p/jdbc-helper/
Voici la description que j'ai copiée de sa page de projet: Inspiré par les projets Spring Jdbctemplate et Commons Dbutils, JdbcHelper est une très petite bibliothèque pour aider les développeurs à coder les opérations jdbc courantes. JdbcHelper est très léger. Il ne fait que ~ 70 Ko et il n'a pas de dépendances externes.
Il y a Yank , qui est une couche de persistance JDBC ultra-légère qui enveloppe DBUtils. Pour l'utiliser, vous créez pour chaque table un POJO et une classe DAO. Vous écrivez vos propres instructions SQL et exécutez des requêtes via la classe DBProxy. Vous n'avez pas à gérer les connexions, les ensembles de résultats et/ou tout autre code JDBC de bas niveau. Le pot Yank ne fait que 13 Ko à partir de la version 2.0.0 et ne dépend que de SLF4J, DBUtils et d'un pot de base de données tiers, quelle que soit la technologie de base de données que vous utilisez.
Spring Framework (spring-dao) est votre ami. Si vous programmez correctement vos interfaces, plus tard (à condition que cela soit nécessaire), vous pouvez facilement passer à quelque chose de plus puissant comme Hibernate. Ne sous-estimez pas non plus Hibernate: Native SQL vous donne une puissance de SQL complet et vous pouvez toujours bénéficier du mappage d'objets - quelque chose que vous devrez de toute façon programmer à moins que vous n'ayez besoin que d'exécuter les requêtes aussi simples comme select count(*) from ...
.
Dans les cas où un ORM n'est pas nécessaire, j'utilise des ressorts JdbcTemplate .
Exemples