Java ApacheJDBCutilts与SpringJDBC模板。哪个更好?
我在讨论是否在我的项目中使用jdbcTemplate和ApacheDbutils。我的应用程序是一个spring应用程序,我们使用jdbcTemplate处理少量请求。但我考虑的是这个非常轻量级且易于理解的ApacheDbutils 我知道jdbcTemplate和dbutils都是常规JDBC之上的抽象层,这有助于我们避免使用bounder-plate代码 所以我的问题是:Java ApacheJDBCutilts与SpringJDBC模板。哪个更好?,java,spring,jdbctemplate,apache-commons-dbutils,Java,Spring,Jdbctemplate,Apache Commons Dbutils,我在讨论是否在我的项目中使用jdbcTemplate和ApacheDbutils。我的应用程序是一个spring应用程序,我们使用jdbcTemplate处理少量请求。但我考虑的是这个非常轻量级且易于理解的ApacheDbutils 我知道jdbcTemplate和dbutils都是常规JDBC之上的抽象层,这有助于我们避免使用bounder-plate代码 所以我的问题是: 1) 我有什么理由说服自己将所有东西从jdbcTemplate迁移到dbutils吗? 2) jdbcTemplate中
1) 我有什么理由说服自己将所有东西从jdbcTemplate迁移到dbutils吗?
2) jdbcTemplate中是否有自动映射到java POJO类的自动POJO映射程序?在DbUtils中,我知道我们可以像下面这样做:
ResultSetHandler beanListHandler=new beanListHandler(Object.class,new basicroProcessor(new granousBeanProcessor())代码>I
在jdbcTemplate中,我知道我们可以有一个自定义的行映射器,在这里我们可以显式地设置如下属性,但是有没有一种方法可以像dbutils那样自动映射到pojo
@Overides
public Object mapRow(){
//set to Object by calling setters
}
3) 在性能方面,使用dbutils会有什么不同吗?(因为我们已经在其他请求中使用了jdbcTemplate)
有人能建议从这两个选项中选择最佳选项吗?为什么根据您的经验?如果您的应用程序使用的是Spring framework,那么您应该坚持使用JdbcTemplate。与Spring框架协同工作,它提供了许多好处,其中一些关键的好处是
- 容器管理的生命周期
- 与Spring倡导的DAO设计模式相匹配
- Spring的事务管理
别忘了,互联网上有很多关于这一组合的资料,如果你在任何时候都陷入困境并试图寻找指针的话
不过,为了减少数据提取(从ResultSet)和创建POJO的工作量,您可以编写一些RowMapper(或ResultSetTextRactor)的通用实现。实现应该探测ResultsetMetadata以确定返回记录的列名和类型,并在类(RowMapper应该返回的对象)上进行一些反射,将它们与字段或setter匹配,实例化、填充并返回对象 JdbcTemplate默认包括常规POJO映射;这是所有将类
作为参数的签名的用途。@chrylis感谢您的帮助。关于其他方面有什么建议吗?堆栈溢出旨在避免冗长或无限制的讨论。这个问题似乎正朝着这个方向发展。或者把这个框架作为一个具体的技术问题来解决,或者把它移到姐妹站点软件推荐堆栈交换中,在那里你会把问题重置为需求清单和标准,通过这些标准你可以考虑一个建议的产品来成功地满足这些需求。关于比较产品X和产品Y的问题在这两个网站上都是离题的。因此,第三大道是一个讨论网站,如