开发者社区 问答 正文

springboot项目中使用了mybatisplus的baseMapper中的?报错

报错信息如下:
Invalid bound statement (not found): cn.itsource.fastgo.mapper.EmployeeMapper.selectOne

这是service层的接口实现类
@Service
@Transactional(readOnly = true,propagation = Propagation.SUPPORTS)
public class EmployeeServiceImpl extends ServiceImpl implements IEmployeeService {

@Override
public Employee login(String username, String password) {
    return baseMapper.selectOne(new QueryWrapper<Employee>()
            .eq("username",username)
            .eq("password",password));
}

}

这是mapper
@Mapper
public interface EmployeeMapper extends BaseMapper {
}

这是controller
@RestController
public class LoginController {

@Autowired
private IEmployeeService employeeService;

@PostMapping("/login")
@ApiOperation(value = "登录接口" + "")
public AjaxResult login(@RequestBody Map<String,Object> params){
    String username = (String) params.get("username");
    String password = (String) params.get("password");
    Employee employee = employeeService.login(username,password);
    if(null!=employee){
        //登录成功
        return AjaxResult.me();
    }
    //登录失败
    return AjaxResult.me().setSuccess(false).setMessage("用户名或密码错误!");
}

}

请问大神们为什么调用的是basemapper的selectOne方法,但是会报错employeeMapper找不到selectOne

展开
收起
爱吃鱼的程序员 2020-06-23 01:38:58 2478 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    自定义一个Config配置类,去扫描mapper,比如:@Configuration@MapperScan(basePackages={"com.luda.springcloud.client.mapper"})publicclassJDBCConfig{}

    MybatisPlus第一篇之MybatisPlus的简单使用

    我遇到使用@MapperScan(basePackages={"com.uufund.ecapi.*.mapper"})可以正常运行,但是使用@Mapper注解就报Considerdefiningabeanoftype'com.uufund.ecapi.auth.mapper.UserMapper'inyourconfiguration.异常,请问有没有遇到这种问题的??

    SpringBoot整合mybatis-plus的使用---提示未绑定默认接口中的抽象方法的解决和源码分析
    可以看我写的这篇,我看了你的Mapper接口继承BaseMapper时,有问题,应该指定具体的类型。
    比如:extendsBaseMapper<>(这个<>里面指定你的具体实体类型)

    2020-06-23 01:39:14
    赞同 展开评论