当前位置: 首页 > news >正文

There is no getter for property named ‘id‘ in ‘class java.lang.Integer‘

一:发现问题

sql动态语句中如果 parameterType="int"

<select id="sel_campusinfo" parameterType="int" resultType="Campusinfo">
         select cmpid,cmpname from campusinfo where state!='d' and cmpid=#{cmpid}
 </select>


是正确的,但是如果加上if test

<select id="sel_campusinfo" parameterType="int" resultType="Campusinfo">
         select cmpid,cmpname from campusinfo where state!='d' and cmpid!=0
         <if test="cmpid!=0">and cmpid=#{cmpid}</if>
 </select>

则报错:
There is no getter for property named 'cmpid' in 'class java.lang.Integer' 

出错原因:Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取Integer.cmpid。Integer对象没有cmpid属性。如果不解析参数,mybatis自动识别传入的参数,不会报错。



二:解决办法

1.修改select语句

<select id="sel_campusinfo" parameterType="int" resultType="Campusinfo">
         select cmpid,cmpname from campusinfo where state!='d' and cmpid!=0
         <if test="_parameter!=0">and cmpid=#{_parameter}</if>
     </select>

参数名全部改为_parameter。


2.不修改sql,只修改接口

接口类:

Campusinfo sel_campusinfo( int cmpid);
改为:

Campusinfo sel_campusinfo(@Param(value="cmpid") int cmpid);


3.可以将参数包装在hashmap或者对象中作为参数
 

相关文章:

  • resultType或者resultMap可以不写吗?
  • css > 的意思
  • Ubuntu18.04 一条命令安装VLC视频播放器 可倍速播放
  • 实验吧WEB CTF 貌似有点难 全网最简单易懂的解题方法
  • 实验吧WEB CTF 头有点大 全网最简单易懂的解题方法
  • Ubuntu18.04下 安装SMPlyer视频播放器 设置倍速播放
  • 实验吧WEB CTF 猫抓老鼠 全网最简单易懂的解题方法
  • 联想笔记本打开盖子后wifi不显示
  • java获取list元素使用[]中括号方式
  • 设置了50% 不能并排显示
  • 父元素高度不随子元素变化
  • jquery 文本上下滚动
  • Ubuntu18.04 配置 alias 永久生效 永久设置别名的方法
  • Windows CMD命令行程序中 无限死循环 执行一段命令
  • 如何在 Ubuntu18.04上 安装并配置 Burp Suite 社区版本
  • [LeetCode] Wiggle Sort
  • [nginx文档翻译系列] 控制nginx
  • 【node学习】协程
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • canvas 绘制双线技巧
  • CentOS6 编译安装 redis-3.2.3
  • gitlab-ci配置详解(一)
  • Git的一些常用操作
  • iOS 颜色设置看我就够了
  • nginx 配置多 域名 + 多 https
  • Object.assign方法不能实现深复制
  • Puppeteer:浏览器控制器
  • Python - 闭包Closure
  • Redis在Web项目中的应用与实践
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 从0实现一个tiny react(三)生命周期
  • 官方解决所有 npm 全局安装权限问题
  • 来,膜拜下android roadmap,强大的执行力
  • 浏览器缓存机制分析
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 智能合约Solidity教程-事件和日志(一)
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #Ubuntu(修改root信息)
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (003)SlickEdit Unity的补全
  • (bean配置类的注解开发)学习Spring的第十三天
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)ssm高校实验室 毕业设计 800008
  • (五)MySQL的备份及恢复
  • (转)memcache、redis缓存
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划