美文网首页Java学习笔记
SpringMVC中配置 MyBatis mapperLocat

SpringMVC中配置 MyBatis mapperLocat

作者: 想象之中丶意料之外 | 来源:发表于2021-12-21 16:44 被阅读0次
    单数据配置
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
           <!--  此处,mapperLocations 配置单路径 -->
            <property name="mapperLocations" value="classpath:blog/gk/dao/*/*.xml"/>
            <property name="configuration" ref="mybatisConfig"/>
            <property name="plugins">
                <array>
                    <bean class="com.github.pagehelper.PageInterceptor"/>
                </array>
            </property>
        </bean>
        <bean id="mybatisConfig" class="org.apache.ibatis.session.Configuration">
            <property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/>
        </bean>
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!--  此处,basePackage 配置单路径 -->
            <property name="basePackage" value="blog.gk.dao"/>
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        </bean>
    
    多数据配置
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"/>
             <!--  此处,mapperLocations 配置多路径 -->
            <property name="mapperLocations">
                <array>
                    <value>classpath:blog/gk/front/dao/**/*.xml</value>
                    <value>classpath:blog/gk/back/dao/**/*.xml</value>
                </array>
            </property>
            <property name="configuration" ref="mybatisConfig"/>
            <property name="plugins">
                <array>
                    <bean class="com.github.pagehelper.PageInterceptor"/>
                </array>
            </property>
        </bean>
        <bean id="mybatisConfig" class="org.apache.ibatis.session.Configuration">
            <property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/>
        </bean>
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
            <!--  此处,basePackage 配置多路径 -->
            <property name="basePackage" value="blog.gk.front.dao,blog.gk.back.dao"/>
            <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        </bean>
    
    • 多 mapperLocations 使用array标签+value标签完成
    • 多basePackage使用 英文逗号【,】隔开即可
    注意:使用 多 basePackage 配置时,需要 确保 Dao接口类不要出现重复,否则 在Service中注入 Dao接口时,会因为重复 Dao接口而注入失败。
    • 解决办法:使用 @Repository("别名") 方式注解同一个类型Dao接口,然后 Service注入时,使用@Qualifier("别名") 方式注入对应的Dao接口。

    相关文章

      网友评论

        本文标题:SpringMVC中配置 MyBatis mapperLocat

        本文链接:https://www.haomeiwen.com/subject/xwpxqrtx.html