使用 mvn 进行 springboot 2.2.5+mybatis-plus 3.3 开发

使用 https://start.spring.io 生成新项目框架

数据源配置 /resources/application.properties

spring.datasource.username=root
spring.datasource.password=
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/hotel
spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
spring.datasource.type = com.zaxxer.hikari.HikariDataSource

主启动文件

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@EnableTransactionManagement
@EnableCaching
@MapperScan("com.localhost.mapper")
public class ApiApplication {

public static void main(String[] args) {
  SpringApplication.run(ApiApplication.class, args);
}

}

当启动时报错如下时

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

原因是标准的 mvn 项目不会将位于 src/main/java 下的 Mapper.xml 文件进行编译,即在 target/classes 下无法找到对应的 Mapper.xml 文件,因此请将 mvn 的 pom.xml 增加如下内容

<build>
  <resources>
  <resource>
    <directory>src/main/java</directory>
    <includes>
      <include>**/*.xml</include>
    </includes>
  </resource>
  </resources>
</build>

之后使用 IDEA Rebuild the project 重新编译即可。