今天用mybatisplus的时候遇到了这样的一个问题
我用mappe却找不到自己写的方法,尽管IDEA在我使用这个mapper的时候给出了提示
下面我以ExcelMapper这个类为例,这个类是一个继承了BaseMapper的类
package com.example.insertsql;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author kerwin
* @create 2023-05-05 11:23
*/
@Mapper
public interface ExcelMapper extends BaseMapper<SqlData> {
int InsertBatch(List<SqlData> sqlData);
}
这是我字节写的一个mapper里的方法,而在运行的时候却报错找不到这个方法。
如果你也遇到这样的问题,可能原因有三种
-
xml文件的位置必须放对,否则就找不到你在xml文件里写的那个方法了。
你的xml文件必须要放在resources下面的名为mapper的一个文件下
这样才能确保一定可以被mybatisplus读取到,如果直接把xml文件放在resouces下面是找不到的。如果你想要放的规范一点,那么就可以在mapper下创建文件夹来放置你的xml文件。
-
确认 ExcelMapper 接口已经被正确地注入到了 InsertsqlApplication 类中。你可以检查是否在 InsertsqlApplication 类上添加了 @MapperScan 注解并指定了 ExcelMapper 接口所在的包名。
-
检查 ExcelMapper.java 中的 InsertBatch 方法的声明,确保方法名、返回值类型、参数列表和 Mapper.xml 文件中的定义一致。