我的理解: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