为啥这段SQL在Mysql中正常执行并有结果而在JDBC中却报异常?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥这段SQL在Mysql中正常执行并有结果而在JDBC中却报异常?相关的知识,希望对你有一定的参考价值。
SQL代码:
call classm_p_ur_idgeneration_pp(@xx);
select @id as id;
过程代码 :
select @idprev_:=ctprop.`data` from classm_t_propreties ctprop where `key`='user.idgeneration.ad';
set @id_= CONCAT(@idprev_,DATEDIFF(NOW() , '1970-01-01 08:00:00.000'),CEILING(RAND()*100000000000)) ;
set @id:=@id_;
经过久久的尝试 , 终于得出结果. jdbc执行的是普通SQL的批量发送,但是对于 过程需要用Callable , 而且有out参数一次只能执行一个并返回。谢谢热心网友。在MyBatis普通SQL中执行不能带有out的过程。
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="$jdbc.driverClass" />
<property name="jdbcUrl" value="$jdbc.url" />
<property name="username" value="$jdbc.user" />
<property name="password" value="$jdbc.password" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="30" />
<property name="minConnectionsPerPartition" value="10" />
<property name="partitionCount" value="2" />
<property name="acquireIncrement" value="5" />
<property name="statementsCacheSize" value="100" />
<property name="releaseHelperThreads" value="3" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean> 参考技术B 你这个事 存储过程吧,具体错误是什么?追问
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at com.mysql.jdbc.CallableStatement.setInOutParamsOnServer(CallableStatement.java:2270)
MySQL中为啥不能在select语句中使用into将查询结果存入新表,但是SQL sever可以
参考技术A declare n number(吧); begin for n in 依..依00 loop insert into test_table(id, name) values(n,'你想插入的数据'); end loop; commit; end以上是关于为啥这段SQL在Mysql中正常执行并有结果而在JDBC中却报异常?的主要内容,如果未能解决你的问题,请参考以下文章
为啥mssql的OPENQUERY取oracle某表时只返回了一行数据,而在pl/sql中可以查到表中有两行数据,求解答?
为啥这段代码在 iOS 5.1 中会崩溃,而在 iOS 6 中不会?
为啥mybatis生成的sql语句可以正确执行,但是返回结果却为空