10

是否有像 Spring JDBC Template 这样的 Java 库,具有相同质量的代码和文档以及类似的数据访问异常层次结构,但不依赖于其他 Spring 模块(根据http://mvnrepository.com/artifact/org的核心/beans/context 模块.springframework/spring-jdbc/3.0.6.RELEASE)?

4

3 回答 3

14

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

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

于 2011-12-07T12:28:51.330 回答
9

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

于 2012-06-06T14:22:24.683 回答
4

还有另一种非常接近的替代方法JdbcTemplate,您可以使用sql2o具有公正slf4jguava依赖关系的库。下面是他们网站上的一个简单示例。此外,作为奖励,您仍然可以在此基准上看到更好的性能(披露:我不是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);
}
于 2016-08-17T16:30:07.503 回答