没有Spring的Spring JDBC模板

时间:2011-12-07 12:13:02

标签: java spring spring-jdbc

是否有类似Spring JDBC模板的Java库,具有相同质量的代码和文档以及类似的数据访问异常层次结构,但是没有其他Spring模块的依赖性(核心/ bean /上下文模块根据{ {3}})?

3 个答案:

答案 0 :(得分:13)

Spring-jdbc直接依赖于以下库:spring-corespring-beansspring-tx。其余的依赖项是可选的,因此您实际上并不需要它们。

如果这些依赖关系对您来说已经很多了,那么您可以查看Apache DbUtils

答案 1 :(得分:7)

对接受的答案进行细微修正。据我所知,至少还需要一个罐子。它恰好在访问数据访问异常层次结构时发挥作用(底层数据库驱动程序抛出异常并将其包装到Spring异常中)。 jar是spring-asm(字节码操作)。 当我在SQL查询中出现问题并且堆栈跟踪显示类似MissingClassException时,我意外地发现了它。 (我希望只是在答案中添加评论,但看起来我还没有资格)。

答案 2 :(得分:3)

还有一种非常接近JdbcTemplate的替代方法,您可以使用仅具有slf4jguava依赖关系的库sql2o。请参阅下面一个来自其网站的简单示例。另外,作为奖励,你仍可以在this benchmark上看到更好的表现(披露:我不是 sql2o 项目的成员,我只是在使用它在一个项目中。)

public class Task{
    private int id;
    private String category;
    private Date dueDate;
    // getters and setters here
}
   
Sql2o sql2o = new Sql2o(DB_URL, USER, PASS);

String sql =
    "SELECT id, category, duedate " +
    "FROM tasks " +
    "WHERE category = :category";

try(Connection con = sql2o.open()) {
    List<Task> tasks = con.createQuery(sql)
        .addParameter("category", "foo")
        .executeAndFetch(Task.class);
}