您的位置:首页 > 编程语言 > Java开发

Java中PreparedStatement与Statement区别,与实际过程中的特殊用法

2011-04-07 10:54 344 查看
PreparedStatement其实是相当于预处理,它会把语句进行分析后保存到缓存块中,下次再执行该语句时就会快,适用于循环调用同一语句时.

 

Statement就是老老实实的执行语句,是不会进行预处理的.

 

最近开发出现一个问题,我们要调用语句生成一个临时表#KK,然后调用存储过程来访问该表计算取数,如果用PreparedStatement来处理,如果每次用new的方法,则出现调用存储过程时无法找到临时表#KK,如果用同一个PreparedStatement,不重新创建实例,就可以在存储过程访问到临时表,但句柄commit时会出现,多语句无法commit的错误提示,后来问人才知道,由于PreparedStatement做了预处理,当第二次调用存储过程时,把原来第一句生成临时表的语句给抹掉了,当commit时,受影响的数据找到了,但去找不到相关的语句进行commit所以报错了.

 

此时就要用Statement,而且几句语句用同一个Statement就可以解决这个问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 存储