我正在寻找关于如何在纯Java / JDBC中实现DAO层的教程/最佳实践示例。
大多数DAO都基于Data Mapper模式吗?
是否还使用了Active Record模式?
你是怎么做到的?
答案 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)