前端传入的值后端获取为null
这两天遇到了一个头疼的问题,那就是前端页面输入的值,后端获取为null,debug检查了好久,才发现问题,细节真的很重要。做个笔记,以后遇到了再回来看看。
前端是用表单提交数据,传入参数到实体类,从实体类获取到值后用map存放,最后再用sql查询返回数据。获取数据为null原因我分析了一下,有以下几种情况:
1.sql问题,有的时候数据库里面写的sql语句没有问题,但是到了软件工具,如idea,eclipse上面会出一些小毛病,什么逗号,参数,引号啥的,我就遇到过用#{}时,字段名不一致或者字段数量不一致的情况。
2.新增,修改,删除是没有返回值的,select传入参数要写parameterType,没有传入参数可以不写,但最好写上,我就是没写出现了为null的情况(排查后得知);有返回值就要写resultType,类型不要写错。通常都是map,用实体类的话,就要把实体类的路径写对,不然拿不到值。
3.前端传入的值和获取到的值不对应,比如说,我前端传入的时id,但实际上我要的是另外一个表的addrid,所以查不到数据,操作不成功,我后面加上一个参数就解决了删除的问题,因为我的是<a herf>传参,所以在地址后面加个&id=#{addrid}就好了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?