mybatis中引入mapper的几种方式 笔记

0 环境

  • 系统环境:win10
  • 数据库:mysql
  • IDE: IDEA

1 mybatis全局配置文件引入

  • 方式1:使用mapper resouce属性注册mapper xml文件
<mappers>
    <mapper resource="Mapper xml的路径(相对于classes的路径)"/>
</mappers>

注意 直接引用的xml,Mapper xml中namespace同名的Mapper接口(接口存在)

  • 方式2:使用mapper class属性注册Mapper接口
<mappers>
    <mapper class="接口的完整类名" />
</mappers>

mybais去加载class对应的接口,然后还会去加载该接口同目录下的同名xml文件

同目录
同目录

编译之后的文件中少了UserMapper.xml,还需要在pom.xml中project下添加如下配置:

<build>
    <resources>
        <resource>
            <directory>${project.basedir}/src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <resource>
            <directory>${project.basedir}/src/main/resources</directory>
            <includes>
                <include>**/*</include>
            </includes>
        </resource>
    </resources>
</build>
  • 方式3:使用package元素批量注册Mapper接口

批量注册Mapper接口(类似别名包扫描)

<mappers>
    <package name="需要扫描的包" />
</mappers>

mybatis会扫描package元素中name属性指定的包及子包中的所有接口 做为Mapper接口进行注册

法一
法一

放一起有点难受 可以接口(放在java目录下) xml(放在resources)分离 法二

法二 接口 xml分离目录同名
法二 接口 xml分离目录同名

2 springboot中配置

1.启动类

//在xxxApplication启动类中添加包扫描
@MapperScan(basePackages = "xxx")

2.在pom.xml中添加如下配置

  <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
作者:以罗伊
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
posted @ 2020-08-14 16:47  以罗伊  阅读(2992)  评论(0编辑  收藏  举报
levels of contents