Apache Commons DbUtils的替代轻量级JDBC帮助库

我刚刚开发了自己的小型JDBC帮助程序库,我已经意识到它将成为一个维护噩梦。

我不是在寻找一个完整的ORM,比如Hibernate,只是一些轻松而有用的东西可以快速地使JDBC调用传递SQL语句而不会弄乱已检查的exception,手动关闭资源等等……

从您的经验中,您能推荐一个不错的JDBC帮助程序库吗?

到目前为止,我已经看过Apache Commons DbUtils了 ,看起来还不错。 还有其他想法吗?

以下是与简单JDBC交互时“缓解痛苦”的工具列表:

  • Spring的JdbcTemplate
  • jOOQ (也可以与SQL字符串一起使用 – 免责声明:我为供应商工作)
  • Apache DbUtils (你自己提到过)
  • JDBI
  • sql2o
  • persism

还有ORMLite和MyBatis ,它们也非常轻巧。 使用spring和它的rowmappers非常简单,但是需要你直接处理JDBC。 像上述任何一个东西都会隐藏很多远离你的东西,而不像hibernate那样过于复杂。

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

以下是我从其项目页面复制的描述: 受Spring Jdbctemplate和Commons Dbutils项目的启发,JdbcHelper是一个非常小的库,用于帮助开发人员编写常见的jdbc操作代码。 JdbcHelper非常轻量级。 它只有~70K,并且没有外部依赖性。

有Yank ,它是一个包装DBUtils的超轻JDBC持久层。 要使用它,您需要为每个表创建一个POJO和一个DAO类。 您编写自己的SQL语句并通过DBProxy类执行查询。 您不必处理Connections,ResultSet和/或其他低级JDBC代码。 从版本2.0.0开始,Yank jar只有13 KB,它只依赖于SLF4J,DBUtils和第三方数据库jar,无论您使用哪种数据库技术。

Spring Framework (spring-dao)是你的朋友。 如果您正确编程接口,稍后(如果有必要)您可以轻松切换到更强大的function,如Hibernate。 另外不要低估Hibernate: Native SQL为您提供了完整SQL的强大function,您仍然可以从对象映射中受益 – 无论如何您都必须编程,除非您只需要执行简单的select count(*) from ...来执行查询select count(*) from ...