天天看點

史上最全SpringBoot整合Mybatis案例

史上最全SpringBoot整合Mybatis案例

摘要:如果小編說,SpringBoot是目前為止最好的架構,應該沒有人會反駁吧?它的出現使得我們很容易就能搭建一個新應用。那麼,SpringBoot與其他第三方架構的整合必定是我們需要關注的重點。

開發環境:windows + idea + mysql + jdk1.8

一、建構SpringBoot項目

1.在idea建立一個新項目,利用Spring Initializer建立SpringBoot項目,其原理與Spring官網一緻,是以必須聯網。

史上最全SpringBoot整合Mybatis案例

2.引入mybatis-spring-boot-starter依賴,為了很好整合spring-boot,mybatis提供了mybatis-spring-boot-starter類庫。

<dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>2.1.3</version>
</dependency>      

3.建構項目結構,如圖

史上最全SpringBoot整合Mybatis案例

二、重要的幾個點

1.資源檔案的編譯

  由于項目中*Mapper.xml檔案是配置在代碼區域中的,而xml檔案一般屬于資源檔案不是代碼,對于資源檔案的處理,編譯過程maven隻會從源路徑複制到指定的目标路徑。是以需要在pom.xml檔案作如下配置。 

<resources>
    <resource>
       <!--directory,資源檔案的路徑,預設位于${basedir}/src/main/resources/目錄下-->
       <directory>src/main/java</directory>
       <!--includes,一組檔案名的比對模式,被比對的資源檔案将被建構過程處理-->
       <includes>
          <include>**/*.xml</include>
       </includes>

      <!--excludes:指定哪些檔案被忽略,如果一個檔案同時符合includes和excludes,則excludes生效;-->
       <excludes>
          <exclude>**/*.properties</exclude>
       </excludes>
       <!--filtering,建構過程中是否對資源進行過濾,預設false-->
       <filtering>false</filtering>
    </resource>
</resources>      

2.在pom.xml檔案中指定資源檔案路徑,隻能保證編譯期間生成xml檔案,spring不能知道映射檔案的位置(因為映射檔案和mapper接口不在同一包下,否則spring可以自動發現映射檔案)。要想讓spring發現xml配置,需要作如下配置:

mybatis:
  mapper-locations: classpath:com/sensible/model/*Mapper.xml