Statement和PreparedStatement使用的区别
2010-04-02 23:28
176 查看
分析一下Statement和PreparedStatement的却别,以便于更高效的使用。
1)数据库会PreparedStatement语句进行预编译,也叫JDBC存储过程,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率(但尽量尽量采用使用?号的方式传递参数),但statement每次执行sql语句,相关数据库都要执行sql语句的编译。如果sql语句只执行一次,以后不再复用,则建议采用Statement,Statement不会对sql进行预编译。
2)使用PreparedStatement可以提高安全性。传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。
3)PreparedStatement能有效防止sql注入攻击。
4)PreparedStatement还可以批处理吧。
5)使用PreparedStatement时,我们可以使用“?”占位符,这种方式使用起来很方便。
1)数据库会PreparedStatement语句进行预编译,也叫JDBC存储过程,下次执行相同的sql语句时,数据库端不会再进行预编译了,而直接用数据库的缓冲区,提高数据访问的效率(但尽量尽量采用使用?号的方式传递参数),但statement每次执行sql语句,相关数据库都要执行sql语句的编译。如果sql语句只执行一次,以后不再复用,则建议采用Statement,Statement不会对sql进行预编译。
2)使用PreparedStatement可以提高安全性。传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。
3)PreparedStatement能有效防止sql注入攻击。
4)PreparedStatement还可以批处理吧。
5)使用PreparedStatement时,我们可以使用“?”占位符,这种方式使用起来很方便。
相关文章推荐
- Statement和PreparedStatement的使用区别
- 关于statement与preparestatement的使用区别
- rank,dense_rank,row_number使用和区别
- input输入框使用onkeypress实现回车启动按钮事件,另注:onkeypress、onkeyup与onkeydown的区别
- PrepareStatement与Statement的主要区别 .
- RegisterClientScriptBlock 与 RegisterStartupScript的使用与区别
- C++中的继承和组合区别使用
- 深入探究frame和bounds的区别以及setbounds使用
- git init,git add和git commit三者的区别和使用
- 使用left on时and和where的区别
- LIB和DLL的区别与使用(转载)
- 《从零开始学Swift》学习笔记(Day 55)——使用try?和try!区别
- java:String使用equals和==比较的区别
- [zz]std::vector,std::deque,std::list的区别的使用
- PreparedStatement和Statement的用法区别
- MVC 的ViewBag, ViewData and TempData使用与区别
- 当异常封装对象后再使用和不封装对象使用的区别
- C++为什么使用指针---堆和栈的区别
- app包中的fragment和v4包中的fragment的使用的区别
- 集合ArrayList类的使用和与其他实现类的区别