天天看点

史上最全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