mybatis-plus出现Invalid bound statement (not found) com.atguigu.admin.service.UserService.getBaseMappe

1、代码及问题描述

代码

  • UserMapper
package com.atguigu.admin.mapper;

import com.atguigu.admin.bean.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

// @Mapper
public interface UserMapper extends BaseMapper<User> {
}

  • UserService
package com.atguigu.admin.service;

import com.atguigu.admin.bean.User;
import com.baomidou.mybatisplus.extension.service.IService;

public interface UserService extends IService<User> {

}
  • UserServiceImpl
ackage com.atguigu.admin.service.impl;

import com.atguigu.admin.bean.User;
import com.atguigu.admin.mapper.UserMapper;
import com.atguigu.admin.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {


}

错误代码:

在这里插入图片描述

2、解决过程

1、情况1

Invalid bound statement (not found): 无效的绑定语句(未找到),是由于mapper接口和对应的mapper.xml文件的时候,应该保证两个文件的文件名相同,所以处理方法有以下几种

  • 检查namespace
  • 检查id(注意不要有空格)
  • xml没有扫描到
    • 在yml或者properties文件中配置 mybatis.mapper-locations=classpath*:mapper/*Mapper.xml

2、情况2

我用的是mybatis-plus,就根本没有写xml,不存在xml映射不到的情况

所以我去回看报错,后面的报错信息是com.atguigu.admin.service.UserService.getBaseMapper,应该是无法获取的mapper,结果问题出在包扫描上

正常的包扫描

@MapperScan("com.atguigu.admin.mapper")

错误示范

@MapperScan("com.atguigu.admin.*")

是的我以为只用*就可以扫描到,结果需要精确的mapper包

3、总结

  • 遇到问题,首先使用小黄鸭方法回顾一下自己写的代码逻辑
  • 去看报错位置,一般报错可以帮助你定位到自己想要的内容
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值