sql >> データベース >  >> NoSQL >> MongoDB

DAOと依存性注入、アドバイス?

    「プラグ可能な」DAOレイヤーは、通常/常にインターフェイスDAOに基づいています。たとえば、非常に一般的な単純なものを考えてみましょう。

    public interface GenericDAO <T, K extends Serializable> {  
        List<T> getAll(Class<T> typeClass);   
        T findByKey(Class<T> typeClass, K id);  
        void update(T object);  
        void remove(T object);  
        void insert(T object);  
    }
    

    (これは、モルフィアの一般的なDAO

    次に、さまざまな一般的なDAO実装を開発できます。ここでは、さまざまなフィールド(コンストラクターパラメーター、セッター、ゲッターなどに反映されます)を見つけることができます。 JDBCベースのものを想定しましょう:

    public class GenericDAOJDBCImpl<T, K extends Serializable> implements GenericDAO<T, K extends Serializable> {
        private String db_url;
    
        private Connection;
        private PreparedStatement insert;
        // etc.
    }
    

    汎用DAOが(具体的なデータストア用に)実装されると、具体的なDAOを取得するのは簡単です。

    public interface PersonDAO extends GenericDAO<Person, Long> {
    
    }
    

    および

    public class PersonDAOJDBCImpl extends GenericDAOJDBCImpl<Person, Long> implements PersonDAO {
    
    }
    

    (ところで、モルフィアのBasicDAO は、MongoDBの汎用DAOの実装です。

    プラグ可能なアーキテクチャの2つ目は、具体的なDAO実装の選択です。 Apress:Pro Spring2.5 の第2章を読むことをお勧めします (「Springを「HelloWorld」に入れる)工場と依存性注入について段階的に学習します。



    1. TornadoでRedis接続を処理する適切な方法は何ですか? (非同期-パブ/サブ)

    2. TypeError:db.collectionは関数ではありません

    3. 全体としてMatchを使用したプロジェクトがmongodbで機能しない

    4. 約束の拒否を解決できず、応答として配列を送信できません