Parameter 'attendance' not found. Available parameters are [param1, attendance, sid, param2]解决方法
记录一下今天做项目出现的问题以及解决方案。
一.项目的部分代码
- pojo层
public class Attendance {private Integer id;private Staff staff;@DateTimeFormat(pattern = "yyyy-MM-dd")@JsonFormat(timezone = "GMT-8",pattern = "yyyy-MM-dd")private Date adate;private String type;private String remarks;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public Staff getStaff() {return staff;}public void setStaff(Staff staff) {this.staff = staff;}public Date getAdate() {return adate;}public void setAdate(Date adate) {this.adate = adate;}public String getType() {return type;}public void setType(String type) {this.type = type;}public String getRemarks() {return remarks;}public void setRemarks(String remarks) {this.remarks = remarks;}@Overridepublic String toString() {return "Attendance{" +"id=" + id +", staff=" + staff +", adate=" + adate +", type='" + type + '\'' +", remarks='" + remarks + '\'' +'}';}
- dao层
public interface AttendanceDao {@Insert(value = "insert into attendance(id,sid,adate,type,remarks) values(default,#{sid},#{adate},#{type},#{remarks})")int insAttendance(@Param("sid")Integer sid,@Param("attendance")Attendance attendance);
}
- service和serviceImpl层略(因为都差不多)
- controller层
public class AttendanceController {@Autowiredprivate AttendanceService attendanceService;@RequestMapping(value = "/attendanceAdd")public ModelAndView attendanceAdd(ModelAndView mv, Attendance attendance,@RequestParam("attdate") String attdate,String name,Integer did){Staff staff = attendanceService.selByNameDid(name, did);if(staff!=null){attendance.setAdate(Date.valueOf(attdate));attendanceService.insAttendance(staff.getId(),attendance);mv.setViewName("redirect:/attendance/attendance-list/select");}else{mv.addObject("msg","alert('该用户不存在,请检查输入的姓名和部门名称是否正确!')");mv.setViewName("/right");}return mv;}
二.解决过程
- 起初看了一些csdn相关的文章,因为传递的参数较多所以出现这种异常。解决方案有两种。
第一种使用@Param参数,
第二种用#{0},#{1}。
以上方法第一种我就是使用注解来让mybatis识别的,但还是出现这种错误!
第二种更不可能,我传递的有对象肯定不能以这种方式。
还有一种说法@Param注解导包问题,导入的是mybatis的而不是spring下的,在这里我导入的是org.apache.ibatis.annotations.Param也没有问题。
这就很奇怪了!!! - 然后就看到了这篇文章,算是已有一些启发https://blog.csdn.net/xu1227233860/article/details/77387088
因为我想我这里也就额外添加了一个参数,为什么不把它放在同一个实体类中呢?
在Attendance实体类中新加入一个私有属性sid,加上get/set方法,而dao层接口中自然也就变成了int insAttendance(Attendance attendance); ,其他层的代码相继稍微修改一下。
结果一试,插入数据成功了!到现在我还是实在想不明白为什么添加注解也无法插入成功,有机会一定要问问大佬。
Parameter 'attendance' not found. Available parameters are [param1, attendance, sid, param2]解决方法相关推荐
- 解决Parameter ‘MP_OPTLOCK_VERSION_ORIGINAL‘ not found. Available parameters are [param1, et]的问题
在练习ssmp整合的时候遇到了下面报错信息 Caused by: org.apache.ibatis.binding.BindingException: Parameter 'MP_OPTLOCK_V ...
- Parameter 'goodsName' not found. Available parameters are [ param1, goods]
1. 报错 (mybatis) nested exception is org.apache.ibatis.binding.BindingException: Parameter 'goodsName ...
- 错误:Parameter ‘0‘ not found.Available parameters are [arg1, arg0, param1, param2]的解决方法
错误:Parameter '0' not found.Available parameters are [arg1, arg0, param1, param2]的解决方法 参考文章: (1)错误:Pa ...
- Parameter ‘username‘ not found. Available parameters are [arg1, arg0, param1, param2] 绑定参数异常
出现绑定异常 绑定参数username找不到,这是一个知识点的补漏,这篇文章相信对你肯定有所帮助! org.apache.ibatis.binding.BindingException: Parame ...
- idea运行报错Parameter ‘name‘ not found. Available parameters are [arg1, arg0, param1, param2]
Parameter 'name' not found. Available parameters are [arg1, arg0, param1, param2] 出现问题: 在mapper或者dao ...
- 【问题记录】04 MyBatis报错:Parameter ‘XXX‘ not found. Available parameters are [page, hashMap, param1, param
1.报错信息如下: nested exception is org.apache.ibatis.binding.BindingException:Parameter 'XXX' not found. ...
- Parameter 'propertyName' not found. Available parameters are [propertyInformation, id, param1, para
报错: Parameter 'propertyName' not found. Available parameters are [propertyInformation, id, param1, p ...
- Parameter ‘ew‘ not found. Available parameters are [wrapper, page, param1, param2]
Parameter 'ew' not found. Available parameters are [wrapper, page, param1, param2] 源码 Impl类 @Overrid ...
- 批量插入报错:Parameter ‘id‘ not found. Available parameters are [forlonList, param1]
项目场景: 在开发中,需要通过批量插入,生成主键id,然后进行数据关联操作 问题描述 Caused by: org.apache.ibatis.executor.ExecutorException: ...
最新文章
- HDOJ_ACM_折线分割平面
- C语言经典例5-输入三个数由小到大输出
- 如何求一个数的因数 c语言代码,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...
- 学习笔记Hive(七)—— 自定义函数
- JSON序列化(stringify)对象时排除某些属性的两种方法
- UML中类之间的几种关系
- 微型计算机最早提出于,计算机基础题1、世界上第一台电子计算机诞生于A)1943年B-查字典问答网...
- 用lambda表达式实现Runnable
- 673. Number of Longest Increasing Subsequence
- 华为在中国建立其全球最大的网络安全透明中心
- 【iOS】Swift3:context.executeFecthRequest(request, error: nil)
- 【Codeforces	1421	D】Hexagons,贪心,模拟
- 系统学习NLP(二十二)--主题模型LDA
- mysql 冷备搭建_从MySQL冷备说起_MySQL
- window.print()后针式打印机打印出的内容成虚线问题
- 从零开始学centos(一)
- Ubuntu磁盘分区和挂载
- 26. 简述队列和栈的异同
- 抖音sdk,抖音开发api接口
- 关于虚拟机.vmdk与.ovf 磁盘装载问题
热门文章
- uva10375 选择与除法 唯一分解定理
- [Halcon标定] 单相机标定
- ubuntu18和win7双系统安装完成---wifi上网慢和中文输入法配置记录
- 应届毕业生为什么要参加IT培训?
- eclipse连接mysql提示404_致banq: eclipse数据源连接池提示Missing application web.xml, *错误 ?...
- 2023最新国内外主流短信平台汇总
- qpython3l如何使用_qpython3l怎么用
- Creo 钣金设计视频教程
- ffplay出现h264或者no frame或者missing picture in access unit with size 1392错误
- HelloCarbide Example详细解读