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

猜你喜欢

转载自www.cnblogs.com/awzf/p/10292364.html