是否有类似Spring JDBC模板的Java库,具有相同质量的代码和文档以及类似的数据访问异常层次结构,但是没有其他Spring模块的依赖性(核心/ bean /上下文模块根据{ {3}})?
答案 0 :(得分:13)
Spring-jdbc直接依赖于以下库:spring-core
,spring-beans
和spring-tx
。其余的依赖项是可选的,因此您实际上并不需要它们。
如果这些依赖关系对您来说已经很多了,那么您可以查看Apache DbUtils。
答案 1 :(得分:7)
对接受的答案进行细微修正。据我所知,至少还需要一个罐子。它恰好在访问数据访问异常层次结构时发挥作用(底层数据库驱动程序抛出异常并将其包装到Spring异常中)。 jar是spring-asm(字节码操作)。 当我在SQL查询中出现问题并且堆栈跟踪显示类似MissingClassException时,我意外地发现了它。 (我希望只是在答案中添加评论,但看起来我还没有资格)。
答案 2 :(得分:3)
还有一种非常接近JdbcTemplate
的替代方法,您可以使用仅具有slf4j
和guava
依赖关系的库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);
}