纯JDBC / Java中的DAO教程

时间:2013-03-26 15:52:10

标签: java activerecord jdbc dao datamapper

我正在寻找关于如何在纯Java / JDBC中实现DAO层的教程/最佳实践示例。

大多数DAO都基于Data Mapper模式吗?

是否还使用了Active Record模式?

你是怎么做到的?

3 个答案:

答案 0 :(得分:4)

DAO唯一需要的是接口和实现。您的界面定义了操作,实现提供了实现。

使DAO特别之处在于接口和实现的目的是专门的数据访问。应用程序处理数据访问的方式隐藏在DAO的抽象背后。

让我们说你在网上看到一些jdbc代码。你想在dao中使用该代码。

Statement st = conn.createStatement();
st.executeUpdate("INSERT INTO sometable " +
                   "VALUES (...)");

所以创建一个接口

interface ThingDao {
   public void save(Thing thing);
}

和您的实施

public ThingDaoImpl implements ThingDao {

    ThingDaoImpl() {
        // do setup around connections
    }

    public void save(Thing thing) {
        // put the jdbc code here
    }

}

现在假设你想让自己的生活更轻松,并使用像Spring的JdbcTemplate这样的东西。 DAO模式不会改变。唯一的变化是,在您的实现中,您将使用模板来执行操作。这很重要,因为它意味着使用你的Dao的任何代码都不必改变,因为你没有改变界面。那是 DAO抽象的重点

答案 1 :(得分:2)

如果你想要无痛的JDBC,这是我最喜欢的解决方案...... Spring JDBC Template documentation

你仍然需要了解春天

答案 2 :(得分:1)