索引中丢失 IN 或 OUT 参数:: 1

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-23 16:08   98   0

今天在用ibatis执行查询时,报下面错误:

Cause: java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1;

不知道什么原因,网上搜索了一下,好像是传参数的问题。我的sqlmap文件如下:

sql 代码
  1. <select id="advancedQuery" parameterClass="java.lang.String" resultMap="GrantLogResult">
  2. SELECT t1.*,t2.user_name as accreditor_user_name,
  3. t2.real_name as accreditor_real_name,t3.name as role_name
  4. FROM(
  5. $value$
  6. )t1, user_basic_info t2, role_info t3
  7. WHERE t2.id(+)=t1.accreditor
  8. AND t3.id(+)=t1.grant_role
  9. </select>

然后传的参数是一条select语句,格式大概如下:

sql 代码
  1. select * from authorization_info
  2. where authorize_time between t1 and t2
  3. order by authorize_time desc

t1 和 t2是程序生成的Timestamp类型的值。

搞了半天之后,问题依旧,没有办法之下,改变了传入参数的select语句写法,如下:

sql 代码
  1. select * from authorization_info
  2. where to_char(authorize_time,'yyyy-MM-dd') >= 't1'
  3. and to_char(authorize_time,'yyyy-MM-dd') <='t2'
  4. order by authorize_time desc

这样写了之后问题解决了,但是还是不知道其中的原因。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP