mybatis整合spring实现开启mapper.xml映射文件扫描

编辑: admin 分类: java 发布时间: 2021-12-04 来源:互联网
目录
  • mybatis整合spring开启mapper.xml映射文件扫描
  • spring配置扫描mybatis的mapper文件注意

mybatis整合spring开启mapper.xml映射文件扫描

一般情况下,我们知道在使用mybatis的时候,必须在mybatis全局配置文件里配置映射文件。

代码如下:

<mappers>
        <mapper resource="/resources/mybatis/sys/ParamMapper.xml"/>
        <mapper resource="/resources/mybatis/account/UmUserDevMapper.xml"/>
        <mapper resource="/resources/mybatis/authz/AcctAuthorityMapper.xml"/>
        <mapper resource="/resources/mybatis/authz/ApplicationMapper.xml"/>
        <mapper resource="/resources/mybatis/authn/LoginMapper.xml"/>        
        <mapper resource="/resources/mybatis/audit/LogLoginMapper.xml"/>
        <mapper resource="/resources/mybatis/audit/LogActionMapper.xml"/>        
</mappers>

但是与spring整合后,spring提供了mapperLocations属性来扫描指定路径下的映射文件。于是就可以省去每增加一个映射文件就要在mybatis-config.xml文件加一个配置的麻烦。

<!-- 配置mybatis -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:resources/mybatis/mybatis-config2.xml"></property>
        <!-- mapper扫描 -->
        <property name="mapperLocations" value="classpath:resources/mybatis/entity/*.xml"></property>
</bean>

spring配置扫描mybatis的mapper文件注意

一般会将不业务的mapper文件放到不同的包中:

spring配置扫描就需要配置下面的方式(两个*):

<!-- mybatis文件配置,扫描所有mapper文件 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"
        p:dataSource-ref="dataSource" p:configLocation="classpath:conf/mybatis-config.xml"
        p:mapperLocations="classpath:mapper/**/*.xml" />

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

【文章出处:香港cn2服务器