Java中PreparedStatement与Statement区别,与实际过程中的特殊用法
2011-04-07 10:54
344 查看
PreparedStatement其实是相当于预处理,它会把语句进行分析后保存到缓存块中,下次再执行该语句时就会快,适用于循环调用同一语句时.
Statement就是老老实实的执行语句,是不会进行预处理的.
最近开发出现一个问题,我们要调用语句生成一个临时表#KK,然后调用存储过程来访问该表计算取数,如果用PreparedStatement来处理,如果每次用new的方法,则出现调用存储过程时无法找到临时表#KK,如果用同一个PreparedStatement,不重新创建实例,就可以在存储过程访问到临时表,但句柄commit时会出现,多语句无法commit的错误提示,后来问人才知道,由于PreparedStatement做了预处理,当第二次调用存储过程时,把原来第一句生成临时表的语句给抹掉了,当commit时,受影响的数据找到了,但去找不到相关的语句进行commit所以报错了.
此时就要用Statement,而且几句语句用同一个Statement就可以解决这个问题
Statement就是老老实实的执行语句,是不会进行预处理的.
最近开发出现一个问题,我们要调用语句生成一个临时表#KK,然后调用存储过程来访问该表计算取数,如果用PreparedStatement来处理,如果每次用new的方法,则出现调用存储过程时无法找到临时表#KK,如果用同一个PreparedStatement,不重新创建实例,就可以在存储过程访问到临时表,但句柄commit时会出现,多语句无法commit的错误提示,后来问人才知道,由于PreparedStatement做了预处理,当第二次调用存储过程时,把原来第一句生成临时表的语句给抹掉了,当commit时,受影响的数据找到了,但去找不到相关的语句进行commit所以报错了.
此时就要用Statement,而且几句语句用同一个Statement就可以解决这个问题
相关文章推荐
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别(转)
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中super的几种用法并与this的区别,this的特殊用法
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java:extends和implements的区别与实际用法示例
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- java连接数据库的jdbc技术之statement的相关操作及excute和executeUpdate的用法和区别
- Java中PreparedStatement和Statement的用法区别
- Java中PreparedStatement和Statement的用法区别
- Java中P 4000 reparedStatement和Statement的用法区别