我正在寻找有关如何在纯 Java/JDBC 中实现 DAO 层的教程/最佳实践示例。
大多数 DAO 是否基于 Data Mapper 模式?
是否也使用 Active Record 模式?
你怎么做呢 ?
我正在寻找有关如何在纯 Java/JDBC 中实现 DAO 层的教程/最佳实践示例。
大多数 DAO 是否基于 Data Mapper 模式?
是否也使用 Active Record 模式?
你怎么做呢 ?
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 的任何代码都不必更改,因为您没有更改 interface。这就是DAO 抽象的意义所在。
如果你想要无痛的 JDBC,这里是我最喜欢的解决方案... Spring JDBC Template documentation
不过,您仍然需要了解 Spring