純粋な 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 を使用するコードを変更する必要がないことを意味するため、これは重要です。これがDAO の抽象化のポイントです。
痛みのない JDBC が必要な場合は、私のお気に入りのソリューションです... Spring JDBC テンプレートのドキュメント
それでもSpringについて学ぶ必要があります
良い本があります。例えば:
JDBC と接続プールを使用して DAO マネージャーを実装するにはどうすればよいですか?の回答を参照してください。