一、情景引入
- MyBatis是一款优秀的持久层框架,用于简化JDBC开发。
- 官网:http://mybatis.org/mybatis-3/zh/index.html
mybatis-plus更是为我们集成实现了一些基本的CRUD方法,为我们省去了许多重复的工作。然而,很多时候一些不正确的配置,常常导致一些便利功能无法正常使用。
在看到本篇文章之前,笔者默认为你已经检索了一些相关技术文章,尝试解决自己遇到的问题,这里只记录其中一种场景。
- 百度AI给的方案:读者可以借鉴下
二、问题记录
2.1 异常信息
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [ew, param1]
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)
at com.sun.proxy.$Proxy93.selectList(Unknown Source)
2.2 异常代码定位
这里应用mybatis-plus的方法
对应的继承BaseMapper
三、问题解决
这里出现无法调用BaseMapper方法的原因是因为BaseMapper没有加载在spring 容器中,读者需要做的是,在启动类上将BaseMapper所在的包路径配置在启动扫描路径里scanBasePackages,如下图所示:
四、结果验证
调用BaseMapper的updateById方法
数据更新完成