代码报错总结
java.lang.IllegalStateException
详细log
Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'nursingProjectPlanController' method
com.zzyl.nursing.controller.NursingProjectPlanController#add(NursingProjectPlan)
to {POST [/nursing/plan]}: There is already 'nursingPlanController' bean method
原因
代码
//NursingProjectPlanController.java
/**
* 护理计划和项目关联Controller
*
* @author ruoyi
* @date 2025-02-19
*/
@RestController
@RequestMapping("/nursing/plan")
public class NursingProjectPlanController extends BaseController
{
//NursingProjectPlan.java
@RestController
@RequestMapping("/nursing/plan")
public class NursingPlanController extends BaseController
{
@Autowired
private INursingPlanService nursingPlanService;
/**
两个控制类存在相同的路径映射
Mybatis映射表中不存在的字段
rg.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'params' in 'field list'
### The error may exist in com/zzyl/nursing/mapper/NursingProjectMapper.java (best guess)
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT id,name,order_no,unit,price,image,nursing_requirement,status,create_by,create_time,update_by,update_time,remark,params FROM nursing_project WHERE id=?
### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'params' in 'field list'
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'params' in 'field list'
修改
使用 @TableField(exist = false) 注解
在 BaseEntity.java 中,为 params 字段添加 @TableField(exist = false) 注解,以明确告诉 MyBatis 这个字段不是数据库表中的列。
pom警告
'parent.relativePath' of POM com.eatfirewood:webdemoproject:1.0-SNAPSHOT (D:\code\web-demo\webtest\pom.xml) points at com.eatfirewood:webdemoproject instead of org.springframework.boot:spring-boot-starter-parent, please verify your project structure
修改
在parent标签中加上父pom路径<relativePath>../pom.xml</relativePath> <!-- 指向父POM的位置 -->
依赖注入失败
检查导包是否正确
比如自定义类和spring security包中的tokenService同名,导错
import com.zzyl.framework.web.service.TokenService;
import org.springframework.security.core.token.TokenService;
是否多用Autowired加入了不需要的依赖
xxxMapper扫描不到
原因
mapper包不在主类扫描路径下
解决方法
- 移到到主类包路径
- 在配置类中配置MapperScan("com.**.mapper")
可以不用和主类在同一个package下
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。