课时2:Spring整合MyBatis的几种方式 前面一个课时已经讲了一种思路了

.1)第二种方式 :就是省略掉第一种方式的实现类

  1. 在在第一种方式的基础上改造

    1.2 dao的实现类可以删除了

    1.3 改造spring配置文件

  <bean id="studentDao" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="net.bdqn.hbz.dao.IStudentMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>

    mapperInterface代表你要给哪个接口创建代理 sqlSessionFactory代表告知数据库配置信息 就是第一种方式注入的sqlSessionFactory

.2)第三种方式:简化第二种方式 (也就是简化每创建一个接口都要写一次配置) 批量产生

  1.在第二个基础上改造

    1.1 改造spring配置文件

    <bean id="mappers" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--        注入SqlSessionFactory-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
<!--        批量指定哪个包的对象-->
        <property name="basePackage" value="net.bdqn.hbz.dao"></property>
    </bean> 
<!--    注入学生业务-->
    <bean id="studentService" class="net.bdqn.hbz.service.impl.IStudentServiceImpl">
        <property name="iStudentMapper" ref="IStudentMapper"/>
    </bean>

  2.批量产生mapper对在StringIOC的id 默认就是接口名称(接口名=id值而不是等于mappers) ref="接口名“

原文地址:https://www.cnblogs.com/thisHBZ/p/12512459.html