是否指定 Mapper 文件

在 application.yml 中有没有添加 Mapper 文件的位置

mybatis:
  mapper-locations: classpath:mapper/*.xml

具体含义是编译过后的 xml 是否存在?注意查看 target

启动类是否扫描

是否在每个 Dao 接口上加上 @Mapper

推荐在启动类上使用 @MapperScan("dao接口的包名")

package com.example.demo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("com.example.demo.dao")			【这里有没有扫描?】
@SpringBootApplication
public class DemoApplication {

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

}

是否配置别名包

在 application.yml 中有没有指定别名包

mybatis:
  type-aliases-package: com.example.demo.entity,com.example.demo.model

命名空间/方法名是否匹配

查看 *Mapper.xml 中的 namespace 是否匹配

查看 id = "方法名" 和 Dao 接口中的 方法名是否匹配