Parameter index out of range (2 > number of parameters, which is 1【已解决】
文章目录
- 1、SysLogMapper.xml添加注释导致的
- 2、解决方法
- 3、总结
1、SysLogMapper.xml添加注释导致的
<!--定义一个查询方法,用于获取日志列表--><!--方法ID为getLogList,返回类型com.main.server.api.model.SysLogModel,参数类型为com.main.server.api.dto.LogDto--><select id="getLogList" resultType="com.main.server.api.model.SysLogModel" parameterType="com.main.server.api.dto.LogDto">/*查询语句,通过join操作查询sys_log和sys_user表的数据*//*根据log_user_id和id关联sys_log和sys_user表,获取用户名*/select a.*,b.real_name as user_name from sys_log a join sys_user b on a.log_user_id = b.id/*使用where子句过滤查询条件*/<where>/*如果LogDto中的userId不为空,则添加过滤条件b.id = #{userId}*/<if test="userId != null">b.id = #{userId}</if>/*如果LogDto中的logMsg不为空,则添加过滤条件log_msg like concat('%',#{logMsg},'%')*//*使用concat函数和like操作符实现模糊查询*/<if test="logMsg != null and logMsg.trim() != ''">and log_msg like concat('%',#{logMsg},'%')</if></where>/*按照id降序排序排列查询结果*/order by id desc</select>

java.lang.RuntimeException: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='userId', mode=IN, javaType=class java.lang.Integer, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='userId', mode=IN, javaType=class java.lang.Integer, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
Caused by: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='userId', mode=IN, javaType=class java.lang.Integer, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:89)at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:93)
Caused by: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).at org.apache.ibatis.type.BaseTypeHandler.setParameter(BaseTypeHandler.java:55)at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:87)... 59 more
Caused by: java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
2、解决方法
把注释去掉
<!--定义一个查询方法,用于获取日志列表--><!--方法ID为getLogList,返回类型com.main.server.api.model.SysLogModel,参数类型为com.main.server.api.dto.LogDto--><select id="getLogList" resultType="com.main.server.api.model.SysLogModel" parameterType="com.main.server.api.dto.LogDto">/*查询语句,通过join操作查询sys_log和sys_user表的数据*//*根据log_user_id和id关联sys_log和sys_user表,获取用户名*/select a.*,b.real_name as user_name from sys_log a join sys_user b on a.log_user_id = b.id/*使用where子句过滤查询条件*/<where><if test="userId != null">b.id = #{userId}</if><if test="logMsg != null and logMsg.trim() != ''">and log_msg like concat('%',#{logMsg},'%')</if></where>/*按照id降序排序排列查询结果*/order by id desc</select>
想加注释也可以,可以用下面这种方式:
<!--定义一个查询方法,用于获取日志列表--><!--方法ID为getLogList,返回类型com.main.server.api.model.SysLogModel,参数类型为com.main.server.api.dto.LogDto--><select id="getLogList" resultType="com.main.server.api.model.SysLogModel" parameterType="com.main.server.api.dto.LogDto">/*查询语句,通过join操作查询sys_log和sys_user表的数据*//*根据log_user_id和id关联sys_log和sys_user表,获取用户名*/select a.*,b.real_name as user_name from sys_log a join sys_user b on a.log_user_id = b.id/*使用where子句过滤查询条件*/<where><!--如果LogDto中的userId不为空,则添加过滤条件b.id = #{userId}--><if test="userId != null">b.id = #{userId}</if><!--如果LogDto中的logMsg不为空,则添加过滤条件log_msg like concat('%',#{logMsg},'%')--><!--使用concat函数和like操作符实现模糊查询--><if test="logMsg != null and logMsg.trim() != ''">and log_msg like concat('%',#{logMsg},'%')</if></where>/*按照id降序排序排列查询结果*/order by id desc</select>
3、总结
在xml中,注释尽量用下面这种的
<!-- -->
这种注释形式被称为 HTML 注释。它用于在 HTML 代码中添加注释,注释的内容不会在网页中显示,仅作为开发人员的备注或用于临时禁用部分 HTML 代码。相关文章:
Parameter index out of range (2 > number of parameters, which is 1【已解决】
文章目录 1、SysLogMapper.xml添加注释导致的2、解决方法3、总结 1、SysLogMapper.xml添加注释导致的 <!--定义一个查询方法,用于获取日志列表--><!--方法ID为getLogList,返回类型com.main.server.api.model.SysLogModel,参数类型为com.main.se…...
rk3588s 定制版 USB adb , USB2.0与USB3.0 区别,adb 由typeC 转换到USB3.0(第二部分)
硬件资源: rk3588s 核心板定制的地板 软件资源: 网盘上的 android12 源码 1 硬件上 客户只想使用 type c 接口中的 usb2.0 OTG 。在硬件上,甚至连 CC芯片都没有连接。 关于一些前置的知识。 1 USB2.0 与 USB3.0 的区别。 usb3.0 兼容2.0 …...
Cookie与Session 实现登录操作
Cookie Cookie 是网络编程中使用最广泛的一项技术,主要用于辨识用户身份。 客户端(浏览器)与网站服务端通讯的过程如下图所示: 从图中看,服务端既要返回 Cookie 给客户端,也要读取客户端提交的 Cookie。所…...
通过IEC104转MQTT网关轻松接入阿里云平台
随着智能电网和物联网技术的飞速发展,电力系统中的传统IEC 104协议设备正面临向现代化、智能化转型的迫切需求。阿里云作为全球领先的云计算服务提供商,其强大的物联网平台为IEC 104设备的接入与数据处理提供了强大的支持。本文将深入探讨钡铼网关在MQTT…...
lua 游戏架构 之 游戏 AI (五)ai_autofight_find_way
这段Lua脚本定义了一个名为 ai_autofight_find_way 的类,继承自 ai_base 类。 lua 游戏架构 之 游戏 AI (一)ai_base-CSDN博客文章浏览阅读238次。定义了一套接口和属性,可以基于这个基础类派生出具有特定行为的AI组件。例如&…...
vue3+openLayers点击标记事件
<template><!--地图--><div class"distributeMap" id"distributeMap"></div> </template> <script lang"ts" setup> import { onMounted, reactive } from "vue"; import { Feature, Map, View }…...
深入分析 Android ContentProvider (三)
文章目录 深入分析 Android ContentProvider (三)ContentProvider 的高级使用和性能优化1. 高级使用场景1.1. 数据分页加载示例:分页加载 1.2. 使用 Loader 实现异步加载示例:使用 CursorLoader 加载数据 1.3. ContentProvider 与权限管理示例࿱…...
养宠浮毛异味双困扰?性价比高的宠物空气净化器推荐
家里养了两只银渐层,谁懂啊!一下班打开家门就看到家里飘满了猫浮毛雪,空气中还传来隐隐约约的异味。每天不是在吸毛的路上,就是在洗猫砂盆的路上,而且空气中的浮毛还很难清理干净,这是最让人头疼的问题。 …...
maven项目容器化运行之3-优雅的利用Jenkins和maven使用docker插件调用远程docker构建服务并在1Panel中运行
一.背景 在《maven项目容器化运行之1》中,我们开启了1Panel环境中docker构建服务给到了局域网。在《maven项目容器化运行之2》中,我们基本实现了maven工程创建、远程调用docker构建镜像、在1Panel选择镜像运行容器三大步骤。 但是,存在一个问…...
docker 打包orbbec
docker pull humble容器 sudo docker run -it osrf/ros:humble-desktop docker 启动容器 sudo docker run -u root --device/dev/bus/usb:/dev/bus/usb -it -v /home/wl:/share --name wl4 osrf/ros:humble-desktop /bin/bash新开一个终端 查看本地存在的容器:…...
无涯·问知财报解读,辅助更加明智的决策
财报解读就像是给公司做一次全面的体检,是理解公司内部运作机制和市场表现的一把钥匙,能够有效帮助投资者、分析师、管理层以及所有市场参与者判断一家公司的健康程度和发展潜力。 星环科技无涯问知的财经库内置了企业年报及财经类信息,并对…...
【Apache Doris】数据副本问题排查指南
【Apache Doris】数据副本问题排查指南 一、问题现象二、问题定位三、问题处理 本文主要分享Doris中数据副本异常的问题现象、问题定位以及如何处理此类问题。 一、问题现象 问题日志 查询报错 Failed to initialize storage reader, tablet{tablet_id}.xxx.xxx问题说明 查…...
【HarmonyOS】关于鸿蒙消息推送的心得体会(二)
【HarmonyOS】关于鸿蒙消息推送的心得体会(二) 前言 推送功能的开发与传统功能开发还是有很大区别。首先最大的区别点就在于需要多部门之间的协同,作为鸿蒙客户端开发,你需要和产品,运营,以及后台开发一起…...
零基础入门:创建一个简单的Python爬虫管理系统
摘要: 本文将手把手教你,从零开始构建一个简易的Python爬虫管理系统,无需编程基础,轻松掌握数据抓取技巧。通过实战演练,你将学会设置项目、编写基本爬虫代码、管理爬取任务与数据,为个人研究或企业需求奠…...
【Node.js基础04】node.js模块化
一:什么是模块化 在Node.js中,每个文件都可视为一个独立的模块。模块化提高了代码的复用性,按需加载,具有独立的作用域 二:如何实现多个文件间导入和导出 1 CommonJS标准(默认)-导入和导出 …...
数据库——单表查询
一、建立数据库mydb8_worker mysql> use mydb8_worker; 二、建立表 1.创建表 mysql> create table t_worker(department_id int(11) not null comment 部门号,-> worder_id int(11) primary key not null comment 职工号,-> worker_date date not null comment…...
dsa加训
refs: OI Wiki - OI Wiki (oi-wiki.org) 1. 枚举 POJ 2811 熄灯问题 refs : OpenJudge - 2811:熄灯问题 如果要枚举每个灯开或者不开的情况,总计2^30种情况,显然T。 不过我们可以发现:若第i行的某个灯亮了,那么有且仅有第i行和第…...
SpringBoot源码(1)ApplicationContext和BeanFactory
1、调用getBean方法 SpringBootApplication public class SpringBootDemoApplication {public static void main(String[] args) {ConfigurableApplicationContext applicationContext SpringApplication.run(SpringBootDemoApplication.class, args);applicationContext.get…...
CANoe编程实例--TCP/IP通信
1、简介 本实例将使用目前常用的开发工具C#来开发服务器端,以CANoe端作为客户端。服务器端和客户端,通过TCP/IP连接,实现数据交换。 首先在服务器端建立一个监听Socket,自动创建一个监听线程,随时监听是否有客户端的连…...
Neuron协议网关的北向应用插件开发
目录 概述 指令处理层开发 应用层开发 .open .close .init .uninit .start .stop .setting .request 插件设置文件 适配华为的思路 概述 最近研究了一段时间的Neuron协议网关,前面的博文也提到它虽然能够把数据发到华为的IoT平台上…...
Lychee多模态重排序模型实操手册:Gradio界面多轮交互式测试流程
Lychee多模态重排序模型实操手册:Gradio界面多轮交互式测试流程 你是不是经常遇到这样的问题:在网上搜索,明明输入了关键词,但搜出来的结果总是不太对劲?或者,在电商平台找商品,图片和描述对不…...
Linux错误码机制深度解析:嵌入式驱动调试核心
1. Linux系统调试基础:错误码机制深度解析在嵌入式Linux系统开发中,尤其是驱动开发与底层系统编程场景下,错误处理远非简单的if (ret < 0) return ret;所能涵盖。一个健壮、可维护、易调试的系统,其错误处理机制必须具备语义明…...
信捷XD与英威腾GD变频器通讯程序实战(XJXD - 14
信捷XD与英威腾GD变频器通讯程序(XJXD-14)可直接用于实际的程序带注释,并附送触摸屏有接线方式和设置,通讯地址说明等。 程序采用轮询,可靠稳定器件:信捷XD5的PLC,英威腾GD系列变频器,昆仑通态7022Ni 功能&…...
HNU-电路电子学-实战第16讲(2021级)-卡诺图化简与异或门应用实例
1. 卡诺图化简:从真值表到最简逻辑表达式 第一次接触卡诺图时,我也觉得这个像棋盘一样的表格有点神秘。但用了几次后发现,它其实是化简逻辑函数的"神器"。想象你手里有一张真值表,上面密密麻麻写满了0和1,卡…...
BMP280非阻塞驱动库:嵌入式气压温度传感器实时采集方案
1. BMP280_DEV库深度解析:面向嵌入式工程师的非阻塞式气压/温度传感器驱动设计与实践1.1 库定位与核心价值主张BMP280_DEV是一个专为嵌入式系统设计的、Arduino兼容的非阻塞式BMP280传感器驱动库。其核心价值不在于简单封装IC/SPI通信,而在于提供一套可预…...
西门子200SMART PLC间PUT/GET通讯实战指南
1. 西门子200SMART PLC通讯基础 在工业自动化领域,PLC之间的数据交互就像工厂里不同部门之间的信息传递一样重要。西门子S7-200SMART系列PLC提供的PUT/GET通讯协议,就是专门为这种场景设计的"内部通讯工具"。简单来说,PUT就是"…...
新手必看:Keil5+nRF52832烧录蓝牙程序全流程(附Jlink调试技巧)
从零开始掌握Keil5与nRF52832蓝牙开发全流程 1. 开发环境搭建与硬件准备 工欲善其事,必先利其器。在开始nRF52832蓝牙开发之前,我们需要做好充分的准备工作。首先需要确认硬件设备齐全:一块nRF52832开发板(如Nordic官方的nRF52 DK…...
FaceFusion快速部署教程:一键运行,Nvidia/AMD显卡全平台支持
FaceFusion快速部署教程:一键运行,Nvidia/AMD显卡全平台支持 1. FaceFusion简介 FaceFusion是一款革命性的AI换脸工具,它通过深度学习技术实现了高质量的人脸替换功能。与传统的换脸软件不同,FaceFusion具有以下核心优势&#x…...
Qwen3.5-35B-A3B-AWQ-4bit效果深度展示:3D渲染图材质识别+光影分析报告
Qwen3.5-35B-A3B-AWQ-4bit效果深度展示:3D渲染图材质识别光影分析报告 1. 模型能力概览 Qwen3.5-35B-A3B-AWQ-4bit是一款专为视觉理解优化的多模态AI模型,经过4bit量化处理后,能够在双卡GPU环境下高效运行。该模型最突出的能力在于对复杂视…...
PureRef 2.1.0 中文一键安装版 详细教程 设计师必备参考图管理神器
对于概念设计师、插画师、3D建模师以及自媒体创作者来说,参考图的整理效率直接影响创作节奏——你是否也曾遇到过这些痛点?几十张参考图散落在文件夹,切换查找浪费大量时间;调整图片大小、对齐排版反复操作,频繁打断创…...
