IDEA_MyBatis_SQLException:Parameter index out of range坑

报错信息:超出数据库数据表设定的规定长度了

nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=‘apply_id‘, mode=IN, javaType=class java.lang.Object, jdbcType=BIGINT, numericScale=null, resultMapId=‘null‘, jdbcTypeName=‘null‘, expression=‘null‘}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType BIGINT . Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType BIGINT . 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

 

网上说的解决方案大概如下:

这是占位符的数量 跟 设置的参数数量不相等造成的,检查一下你写的sql和传递的参数吧。

特定写like语句所发生的情况:

若是写like语句的时候 ,所用引起的;

在mybatis里面写就是应该是 like  ‘%${name} %‘ 而不是 ‘%#{name} %‘

注:${name} 是不带单引号的,而#{name} 是带单引号的

***如果是还不是:可能是注释的原因   --这就是我的坑,主要是IDEA还显示好使,不报错,坑爹呀!长记性了!

因为注释加的位置不对!!

时间: 2024-10-24 22:26:16

IDEA_MyBatis_SQLException:Parameter index out of range坑的相关文章

Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0

1.错误描述 org.hibernate.exception.GenericJDBCException: error executing work at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(Sql

java.sql.SQLException: Parameter index out of range (0 < 1 )

由于初学写JDBC,所以烦了一个白痴错误,特此记录下来,以期望对寻求同样错误的小伙伴们一个答案,也是自己学习的一个总结记录 该异常的提示错误代码处并不是实际出现错误的代码处. 异常提示为:java.lang.RuntimeException: java.sql.SQLException: Parameter index out of range (0 < 1 ). 原文错误代码为: stmt = conn.prepareStatement("insert into users(name,p

Parameter index out of range (1 &gt; number of parameters, which is 0).

数据库错误:Parameter   index   out   of   range   (1   >   number   of   parameters,   which   is   0). 错误发生原因其实很简单,就是当设置参数时,没有相应的问号与之匹配(或者根本就没有?号). 如果是:Parameter   index   out   of   range   (26   >   number   of   parameters,  which   is   25). 翻译为:找到了

mybatis中Parameter index out of range (1 &gt; number of parameters, which is 0).

Parameter index out of range (1 > number of parameters, which is 0).(参数索引超出范围) 在mybatis里面写就是应该是 like  '%${name} %' 而不是 '%#{name} %'   ${name} 是不带单引号的,而#{name} 是带单引号的 所以,当你用到 like '%#{name}%' 会报这种错误 版权声明:本文为不会代码的小白原创文章,未经允许不得转载.

ibatis 查询异常 Parameter index out of range

<select id="qryUser" resultClass="java.util.HashMap"  parameterClass="java.util.HashMap" > SELECT userId  FROM sys_user WHERE 1=1 <isNotEmpty property="userId"> AND userId = "#userId#" </isN

Parameter index out of range(1 &gt; number of parameters, which is 0)参数索引超出范围

今天在写项目的过程中,有一个模块是做多选删除操作,通过servlet获得多选框的value组,然后执行sql操作.如下: 1 @RequestMapping( "/delteCouse.do" ) 2 public void delCouse( HttpServletRequest req, HttpServletResponse resp ) throws SQLException { 3 4 //处理中文 5 try { 6 req.setCharacterEncoding(&qu

兔子--Parameter index out of range (3 &gt; number of parameters, which is 2).

String sql2 = "insert into supplygoods(id,supplyaccount,goodsaccount,state)values(19,?,?,?)"; try { PreparedStatement stm2 = conn.prepareStatement(sql2); // 结果集 stm2.setInt(1, g.getSupplyAccount()); stm2.setInt(2, g.getAccount()); stm2.setInt(3,

org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback.....Parameter index out of range (1 &gt; number of parameters, which is 0).;

sql有误,一般是   sql语句少了问号.

ibatis Parameter index out of range (1 &gt; number of parameters, which is 0)

这个错误除了网上常见的like写错之外,这里列出其中一种写法like concat('%', #keyword#, '%'),还有另外的多写单引号什么的以外,今天遇到另一个原因,百度谷歌各种查也没查到,最后才意识到由于我是在navicat中的写好的再粘贴上去的,注释也没删除,删除注释后正常运行.耽误这么一两个小时找原因,坑爹啊!