Parameter ‘name‘ not found. Available parameters are [0, 1, param1, param2]] with root cause

本文介绍了一个SpringBoot环境中DAO层查询时遇到的问题:使用注解查询时加入参数会报错,提示找不到传入的参数。文章详细解释了如何定位问题并给出了正确的接口方法实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot环境,测试查询数据库,第一次直接通过dao层的注解查询,全局查询没问题,加入参数就报这里写图片描述错了.提示说传的参数找不到,打印出来都有值,最后查了一下
这是错误的接口方法
这里写图片描述
查询注解里的参数有问题,修改为:
这里写图片描述

2025-03-16T21:40:19.136+08:00 WARN 25332 --- [demo1] [nio-8080-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' is not supported] 2025-03-16T21:40:33.536+08:00 INFO 25332 --- [demo1] [nio-8080-exec-4] c.e.demo.controller.DeptController : 要修改的id:4 Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@613d0eef] was not registered for synchronization because synchronization is not active 2025-03-16T21:40:33.551+08:00 INFO 25332 --- [demo1] [nio-8080-exec-4] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-16T21:40:33.869+08:00 INFO 25332 --- [demo1] [nio-8080-exec-4] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@527baea9 2025-03-16T21:40:33.871+08:00 INFO 25332 --- [demo1] [nio-8080-exec-4] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. JDBC Connection [HikariProxyConnection@1064111603 wrapping com.mysql.cj.jdbc.ConnectionImpl@527baea9] will not be managed by Spring ==> Preparing: update dept set name = ?, create_time = ?,update_time=? where id = ? Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@613d0eef] 2025-03-16T21:40:33.912+08:00 ERROR 25332 --- [demo1] [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.mybatis.spring.MyBatisSystemException: ### Error updating database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, dept, param1, param2] ### The error may exist in com/example/demo/mapper/DeptMapper.java (best guess) ### The error may involve com.example.demo.mapper.DeptMapper.update-Inline ### The error occurred while setting parameters ### SQL: update dept set name = ?, create_time = ?,update_time=? where id = ? ### Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, dept, param1, param2]] with root cause
03-17
2025-03-16T22:17:33.366+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-03-16T22:17:33.366+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2025-03-16T22:17:33.367+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms 2025-03-16T22:17:33.449+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] c.e.demo.controller.DeptController : 要修改的dept:Dept(id=4, name=xue员部, createTime=null, updateTime=null) Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bee5916] was not registered for synchronization because synchronization is not active 2025-03-16T22:17:33.463+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-16T22:17:33.762+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@a735783 2025-03-16T22:17:33.764+08:00 INFO 20444 --- [demo1] [nio-8080-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. JDBC Connection [HikariProxyConnection@1078374248 wrapping com.mysql.cj.jdbc.ConnectionImpl@a735783] will not be managed by Spring ==> Preparing: update dept set name = ?, create_time = ?,update_time=? where id = ? Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7bee5916] 2025-03-16T22:17:33.803+08:00 ERROR 20444 --- [demo1] [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.mybatis.spring.MyBatisSystemException: ### Error updating database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, dept, param1, param2] ### The error may exist in com/example/demo/mapper/DeptMapper.java (best guess) ### The error may involve com.example.demo.mapper.DeptMapper.update-Inline ### The error occurred while setting parameters ### SQL: update dept set name = ?, create_time = ?,update_time=? where id = ? ### Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, dept, param1, param2]] with root cause
03-18
2025-03-16T21:43:57.345+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-03-16T21:43:57.346+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2025-03-16T21:43:57.346+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms 2025-03-16T21:43:57.434+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] c.e.demo.controller.DeptController : 要修改的id:4 Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5b2ae945] was not registered for synchronization because synchronization is not active 2025-03-16T21:43:57.450+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-16T21:43:57.770+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection com.mysql.cj.jdbc.ConnectionImpl@200a3e22 2025-03-16T21:43:57.772+08:00 INFO 28196 --- [demo1] [nio-8080-exec-2] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. JDBC Connection [HikariProxyConnection@580968360 wrapping com.mysql.cj.jdbc.ConnectionImpl@200a3e22] will not be managed by Spring ==> Preparing: update dept set name = ?, create_time = ?,update_time=? where id = ? Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5b2ae945] 2025-03-16T21:43:57.809+08:00 ERROR 28196 --- [demo1] [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.mybatis.spring.MyBatisSystemException: ### Error updating database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, dept, param1, param2] ### The error may exist in com/example/demo/mapper/DeptMapper.java (best guess) ### The error may involve com.example.demo.mapper.DeptMapper.update-Inline ### The error occurred while setting parameters ### SQL: update dept set name = ?, create_time = ?,update_time=? where id = ? ### Cause: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, dept, param1, param2]] with root cause
03-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值