spring+mybatis通用dao層、service層的實現


個人理解:

1.mybatis-spring.jar 提供了SqlSessionTemplate類該類可以對數據庫進行CRUD操作(底層其實還是SqlSession)

2.我們可以集成SqlSessionTemplate重寫CRUD方法使其變得通用 主要就是讓返回值、方法名、參數通用

3.SqlSessionTemplate 需要一個sqlSessionFactory 可通過spring構造注入調用繼承類的構造方法並傳遞sqlSessionFactory參數其實就是super(sqlSessionFactory) 就是給       SqlSessionTemplate的sqlSessionFactory屬性賦值

4.通用DAO CRUD封裝示例:

 

//繼承SqlMapClientTemplate的類    
    /**
     * 普通查詢
     *
     * @param statement
     *            sql語句定義的id
     * @param parameters
     *            參數
     * @return
     */
public int deleteBatch(final String statementName, final Collection<?> parameterObjects)
            throws DataAccessException {
        int i = 0;
        for (Object object : parameterObjects) {
            i += delete(statementName, object);
        }
        return Integer.valueOf(i);
    }

5.定義抽象Dao類用來給其他類實現並且聲明  繼承SqlMapClientTemplate的類為抽象屬性 在封裝一層CRUD

6.繼承抽象類的類 可擴展額外的屬性等

7.可參考:https://blog.csdn.net/acweilisky0825/article/details/52032867


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM