0

現在、DAOレイヤーでは、addDevice、deleteDevice、searchDevice、ifAlreadyRegistered .....などの各タイプのデータベースクエリのメソッドを作成しており、DAOレイヤーオブジェクトが非常に重くなります。

DAOレイヤーがそれほど重くならないように、DAOに汎用のinsertメソッド、deleteメソッド、updateメソッドを持たせる方法はありませんか?

4

1 に答える 1

2

データベースとのインターフェースにHibernateのような ORM を使用していますか? そうでない場合は、ORM を試してみてください。SQLではなく「ネイティブ」プログラミング言語(あなたの場合はJavaなど)でロジックを表現し、ORMがSQLを計算するため、データベースの操作がはるかに簡単になります。たとえば、Hibernate では、オブジェクトの更新は次のようになります (この記事から)。

transaction = session.beginTransaction();
Course course = (Course) session.get(Course.class, courseId);
course.setCourseName(courseName);
transaction.commit();

...生のSQLの代わりに。ORM の使用が理にかなっている場合 (すべての場合ではありません)、コードをよりクリーンで簡単なものにすることができます。

大雑把に言えば、ORM意味を成すプログラムの良い例は、CRM のようなもので、オブジェクトをプッシュして簡単なレポートを作成するだけです。ORMがおそらく意味をなさないプログラムの良い例は、高度にカスタマイズされ、慎重に最適化された SQL クエリを使用する分析ツールのようなものです。 .

于 2013-04-07T15:29:06.937 に答える