MyBatis的xml里#{}的参数为null报错、将null作为参数传递报错问题
今天在调试的过程中发现一个bug,把传入的参数写到查询分析器中执行没有问题,但是在程序中执行就报错:org.springframework.jdbc.UncategorizedSQLException : Error setting null parameter. Most JDBC drivers require that the JdbcType must be specified for all nullable parameters. Cause: java.sql.SQLException:无效的列类型
网上找了很久,才找到了错误原因:myBatis的参数,不能传入null(但是在查询分析器中参数为null是允许的),如果传入了null,SQL在类型匹配时找不到匹配的类型,就会报上面的错。
解决办法:
1、在参数后面添加jdbcType=VARCHAR
2、使用if标签
<if test="id != null and id !=''">
and id = #{id}
</if>
3、将null替换成“”字符串;
例如:把 insert into user(id,name) values(#{id},#{name})
修改成:insert into user(id,name) values(#{id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR})
就可以解决这个问题了。
相关文章:
MyBatis的xml里#{}的参数为null报错、将null作为参数传递报错问题
今天在调试的过程中发现一个bug,把传入的参数写到查询分析器中执行没有问题,但是在程序中执行就报错:org.springframework.jdbc.UncategorizedSQLException : Error setting null parameter. Most JDBC drivers require that the JdbcType m…...
【网络安全】「漏洞原理」(一)SQL 注入漏洞之概念介绍
前言 严正声明:本博文所讨论的技术仅用于研究学习,旨在增强读者的信息安全意识,提高信息安全防护技能,严禁用于非法活动。任何个人、团体、组织不得用于非法目的,违法犯罪必将受到法律的严厉制裁。 【点击此处即可获…...
Go语言错误处理最佳实践
错误处理实践 我们在go语言中设计error的处理体系时候, 一般都会去做下面两点 直接使用errors.New()生成error接口的值 扩展error接口, 并定义扩展error接口的实现类型 error接口是什么? go语言的error是一个接口类型, 其源码如下: type error interface {Error() string…...
python结合excel数据轻松实现接口自动化测试
在刚刚进入测试行业的时候,最开始也是做功能测试,我想很多伙伴和我一样,觉得自动化测试都很高端,很神秘。迫不及待的想去学习作自动化测试。 以前比较常用数据库python做自动化,后面发现excel个人觉得更加适合&#x…...
构建精致 Chrome 插件:开箱即用的 TypeScript 模板 | 开源日报 No.51
tonsky/FiraCode Stars: 72.7k License: OFL-1.1 Fira Code 是一种免费的等宽字体,具有编程连字符。 Fira Code 提供了丰富多样的箭头和标点符号调整功能。Fira Code 支持各种不同的字符变体、风格集和其他字体特性,以满足用户个性化需求。Fira Code …...
在Windows下自己从源码编译Python3.10.13成安装包
文章目录 (一)Python 3.10 的生命周期(一)下载源码(二)准备环境(三)编译(3.1)解压源码到目录(3.2)下载依赖(PCBuild&#…...
WIN10如何搭建自己的博客
引言: 路线说明: 在CSDN,博客园,简书等平台,可以直接在上面发表,用户交互做的好,写的文章百度也能搜索的到,这样速度也是最快的,不费心运营啥的。缺点是比较不自由&…...
uniapp 首页制作
uniapp拨打固定的电话 function Hotline() {// 拨打电话uni.makePhoneCall({phoneNumber: 19969547693})}页面跳转 //普通跳转function homepage() {uni.navigateTo({url: /pages/homepage/homepage});}//二、uni.redirectTo关闭当前页面,跳转到应用内的某个页面。…...
意大利航天飞行器公司【Sidereus】完成510万欧元融资
来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,位于意大利萨莱诺的航天飞行器公司Sidereus Space Dynamics今日宣布已完成510万欧元融资。 本轮融资由Primo Space和CDP Venture Capital Sgr领投,通过Italia Venture II - Fondo Impr…...
10-网络篇-DHCP获取的参数详解
一个设备接入路由器局域网时,是通过DHCP获取网络信息,从而完成网络配置的获取。如下图所示为windows系统通过DHCP所要获取的网络配置:IP、子网掩码、网关、DNS服务器。任何设备要上网前,都需要知道这几个参数,下面对这…...
MVCC底层原理
MVCC多版本并发控制机制 多版本多个undo日志 什么时候会获取到事务id 事务id的生成并不是通过begin/start/transaction命令得到的,是在执行第一个修改操作或者加入排他锁操作,才会向mysql申请真正的事务id,mysql内部是严格按照事务的启动顺…...
云原生Docker容器管理
目录 docker容器的管理 容器创建 查看容器的运行状态 启动容器 创建并启动容器 终止容器运行 删除容器 容器的进入 查看容器详细信息 复制到容器中 从容器复制文件到主机 容器的导出与导入 导出 导入 相当于一个进程,性能接近于原生,几乎没有损…...
1.Cesium For Unity插件安装
1.Unity安装 先安装Unity Hub,然后在里面安装Unity。 2.新建工程 新建项目 选择项目类型 3. 导入Cesium包 打开新建的项目,在菜单栏选择Edit->Project Settings->Package Manager.并添加Cesium的包信息。 Name: Cesium URL: https://unity.pkg.cesium.com Sco…...
浅述安防视频可视化场景中TSINGSEE青犀AI智能化应用的分析
随着社会的不断发展和安防需求的不断提升,安防视频可视化场景已经成为人们关注的焦点。而随着人工智能、大数据等技术的不断发展,智能化应用在安防视频可视化场景中的应用也越来越多。本文将分析安防视频可视化场景中的智能化应用,主要包括以…...
百度飞浆ResNet50大模型微调实现十二种猫图像分类
12种猫分类比赛传送门 要求很简单,给train和test集,训练模型实现图像分类。 这里使用的是残差连接模型,这个平台有预训练好的模型,可以直接拿来主义。 训练十几个迭代,每个批次60左右,准确率达到90%以上…...
多服务器云探针源码(服务器云监控)/多服务器多节点_云监控程序python源码
源码简介: 多服务器云探针源码(服务器云监控),支持python多服务器多节点,云监控程序源码。它是一款很实用的云探针和服务器云监控程序源码。使用它可以帮助管理员能够快速监控和管理各种服务器和节点,实用性强。 源码链接: 网盘…...
ESP8266 WiFi物联网智能插座—下位机软件实现
目录 1、软件架构 2、开发环境 3、软件功能 4、程序设计 4.1、初始化 4.2、主循环状态机 4.3、初始化模式 4.4、配置模式 4.5、运行模式 4.6、重启模式 4.7、升级模式 5、程序功能特点 5.1、日志管理 5.2、数据缓存队列 本篇博文开始讲解下位机插座节点的MCU软件…...
微信小程序--下拉选择框组件封装,可CV直接使用
一、起因 接到的项目需求,查看ui设计图后,由于微信小程序官方设计的下拉选择框不符合需求,而且常用的第三方库也没有封装类似的,所以选择自己自定义组件。在此记录一下,方便日后复用。 ui设计图如下: 微信官方提供的选择框 对比发现并不能实现我们想要的功能。 二、自定义组件…...
代码随想录算法训练营第五十九天 |647. 回文子串、516.最长回文子序列、动态规划总结篇
一、647. 回文子串 题目链接/文章讲解:代码随想录 思考: 1.确定dp数组(dp table)以及下标的含义 如果本题定义dp[i] 为 下标i结尾的字符串有 dp[i]个回文串的话: 会发现很难找到递归关系,dp[i] 和 dp[i-1]…...
互联网性能和可用性优化CDN和DNS
当涉及到互联网性能和可用性优化时,DNS(Domain Name System)和CDN(Content Delivery Network)是两个至关重要的元素。它们各自发挥着关键作用,以确保用户能够快速、可靠地访问网站和应用程序。在本文中&…...
Phi-4-mini-reasoning从零开始:学生自学AI推理工具搭建全过程
Phi-4-mini-reasoning从零开始:学生自学AI推理工具搭建全过程 1. 为什么选择Phi-4-mini-reasoning 作为一名对AI技术充满好奇的学生,我一直在寻找一个适合自学的推理模型。Phi-4-mini-reasoning以其专注推理任务的特点吸引了我。与通用聊天模型不同&am…...
Llama-3.2V-11B-cot实战教程:集成Whisper实现音视频+图像联合推理
Llama-3.2V-11B-cot实战教程:集成Whisper实现音视频图像联合推理 1. 项目概述与核心能力 Llama-3.2V-11B-cot是一个强大的视觉语言模型,它不仅能理解图像内容,还能进行系统性推理。这个模型基于LLaVA-CoT论文实现,特别适合需要结…...
C++高频交易内存池性能跃迁指南(从42μs到1.7μs的97.6%时延压缩路径)
第一章:C高频交易内存池性能跃迁全景图在毫秒乃至微秒级竞争的高频交易系统中,动态内存分配已成为关键性能瓶颈。标准 malloc 与 new 操作引入的锁争用、TLB抖动及堆碎片问题,直接导致订单延迟波动增大、吞吐量不可预测。现代低延迟内存池通过…...
PyTorch 3.0静态图训练突然降速37%?紧急排查清单:CUDA Graph复用失效、TensorPipe通道泄漏、以及被隐藏的TORCH_COMPILE_DEBUG=1黄金日志开关
第一章:PyTorch 3.0静态图分布式训练性能骤降的典型现象与影响评估近期多个生产级训练集群反馈,在升级至尚未正式发布的 PyTorch 3.0 预览版(基于 TorchDynamo AOTAutograd 的全静态图编译路径)后,使用 torch.distrib…...
ArduinoEigen:嵌入式平台轻量级Eigen线性代数库移植
1. ArduinoEigen:面向嵌入式平台的轻量化Eigen线性代数库移植1.1 项目定位与工程价值ArduinoEigen 是一个专为资源受限嵌入式平台定制的 Eigen 线性代数库移植版本,其核心目标并非简单地将桌面级 C 数值计算库“搬上”MCU,而是通过深度裁剪、…...
OpenClaw与Qwen3-14b_int4_awq联动:低成本实现个人自动化办公
OpenClaw与Qwen3-14b_int4_awq联动:低成本实现个人自动化办公 1. 为什么选择OpenClawQwen3-14b_int4_awq组合 去年夏天,当我第一次尝试用AI自动化处理周报时,发现商业API的token消耗速度远超预期——生成5份周报就花掉了近50元。这促使我开…...
电力系统稳定器与静态无功补偿器联合提升暂态稳定性Simulink仿真模型研究
使用电力系统稳定器(PSS)和静态无功补偿器(SVC)提高暂态稳定性的simulink仿真模型电力系统这玩意儿最怕的就是突然来个大扰动,比如短路故障或者大负荷切换。这时候发电机的功角曲线要是收不住,分分钟全网停…...
8 鸿蒙多任务并发场景性能瓶颈排查 | 鸿蒙开发筑基实战
8 鸿蒙多任务并发场景性能瓶颈排查 | 鸿蒙开发筑基实战 作者:杨建宾(华夏之光永存) 摘要 本文面向鸿蒙应用开发工程师,聚焦多任务并发场景下的卡顿、掉帧、响应延迟等核心痛点,提供一套通用工程级排查流程。从任务调度…...
改进遗传算法求解分布式柔性作业车间调度问题 Matlab代码 考虑多工厂约束,以最小化最大完工...
改进遗传算法求解分布式柔性作业车间调度问题 Matlab代码 考虑多工厂约束,以最小化最大完工时间为目标函数,使用ipox、ux两种交叉方式,改进G-L-R初始化机制提升初始种群质量,使用变邻域搜索机制对空间进行局部搜索 更换关键工厂中…...
突破模型部署瓶颈:TimesFM 2.5从500M到200M的压缩实践指南
突破模型部署瓶颈:TimesFM 2.5从500M到200M的压缩实践指南 【免费下载链接】timesfm TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting. 项目地址: https://gitc…...
