欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【MyBatis】---- 引入映射器mapper文件失败的解决方案

程序员文章站 2023-12-27 09:26:15
...

先看引入失败的时候
【MyBatis】---- 引入映射器mapper文件失败的解决方案【MyBatis】---- 引入映射器mapper文件失败的解决方案

映射器注册表不知道接口,我们知道映射器由 接口和XML文件组成, 接口是没错的,说明XML文件找不到。

- 解决方案一: 采用文件路径引入映射器

<mappers>
        <mapper resource="mappers/EmployeeMapper.xml"/>
        <mapper resource="mappers/EmployeeTaskMapper.xml"/>
        <mapper resource="mappers/FemaleHealthFormMapper.xml"/>
        <mapper resource="mappers/MaleHealthFormMapper.xml"/>
        <mapper resource="mappers/TaskMapper.xml"/>
        <mapper resource="mappers/WorkCardMapper.xml"/>
</mappers>

缺点:如果映射文件少适合用,mapper文件一旦多的话,一个一个写比较麻烦

- 解决方案二:用包名引入映射文件

如果是idea,用maven创建项目中,需要加入以下代码
原因: idea不会编译src的java目录的xml文件

pom.xml

<build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
        <!--默认是true-->
        <!--<filtering>true</filtering>-->
      </resource>
    </resources>
  </build>

mybatis-config.xml

<!--映射文件-->
    <mappers>
        <package name="cn.whc.March_30.mapper"/>
    </mappers>

另外:映射文件名字要和接口文件相同,还需要放在同一个包下

【MyBatis】---- 引入映射器mapper文件失败的解决方案

- 解决方案三: Spring+MyBatis整合

一般入门Mybatis的话,上面的两种方案比较适合;
如果入门SSM框架后,第三种方案比较好

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath*:mappers/*Mapper.xml"></property>       
    </bean>

此时的mapper文件应该放在resources目录下
【MyBatis】---- 引入映射器mapper文件失败的解决方案

上一篇:

下一篇: