我的理解:spring
1.mybatis-spring.jar 提供了SqlSessionTemplate類該類能夠對數據庫進行CRUD操做(底層其實仍是SqlSession)sql
2.咱們能夠集成SqlSessionTemplate重寫CRUD方法使其變得通用 主要就是讓返回值、方法名、參數通用數據庫
3.SqlSessionTemplate 須要一個sqlSessionFactory 可經過spring構造注入調用繼承類的構造方法並傳遞sqlSessionFactory參數其實就是super(sqlSessionFactory) 就是給 SqlSessionTemplate的sqlSessionFactory屬性賦值mybatis
4.通用DAO CRUD封裝示例:spa
//繼承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.net
6.繼承抽象類的類 可擴展額外的屬性等code
7.可參考:https://blog.csdn.net/acweilisky0825/article/details/52032867blog