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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM