javaJDBC预编译相关知识点.docx

javaJDBC预编译相关知识点.docx

ID:51690114

大小:33.34 KB

页数:2页

时间:2020-03-15

javaJDBC预编译相关知识点.docx_第1页
javaJDBC预编译相关知识点.docx_第2页
资源描述:

《javaJDBC预编译相关知识点.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JAVA_JDBC预编译相关知识点什么是预编译语句?预编译语句PreparedStatement是java.sql中的一个接口,它是Statement的子接口。通过Statement对象执行sql语句时,需要将sql语句发送给DBMS,由DBMS首先进行编译再执行(在创建通道的时候并不进行sql的编译工作,事实上也无法进行编译)。而通过PreparedStatement不同,在创建PreparedStatement对象时就指定了sql语句,该语句立即发送给DBMS进行编译,当该语句被执行时,DBMS直接运行编译后的sql语句,而不需要像其他sql语

2、句那样首先将被编译。什么时候使用预编译语句?当语句格式固定的时我们倾向于使用PreparedStatement,只有当语句格式无法预见时,才考虑使用Statement。一般在考虑反复使用一个sql语句时才使用预编译,预编译语句常常放在一个循环中使用(在这种情况下预编译的优势就很明显了),通过反复设置参数从而达到多次使用该语句;还有一个原因就是防止sql注入漏洞。为什么使用预编译语句?1、提高效率当需要数据库进行数据插入、更新或者删除的时候,程序给发送整个sql语句给数据库处理和执行。数据库处理一条sql语句,需要完成对sql语句的解析、检查语法以及

3、生成代码;一般来说,处理时间要比执行sql的时间长。预编译语句在创建的时候就已经将sql语句发送给了DBMS,完成了解析、检查语法以及生成代码的过程。因此,当一个sql语句需要执行多次时,使用预编译语句可以减少处理时间,提高执行效率。2、提高安全性恶意的sql语句Stringsql=“select*fromuser_tbwhereusername=‘”+username+”’andpassword=‘”+password+”’;如果我们把[‘or’1’=’1]作为password传入,用户名随意,那么就可以随意登陆了。更有甚者,把[‘;dropta

4、bleuser_tb;]作为password传入,这就严重危害了数据库安全了。而如果你使用预编译语句,你传入的任何内容就不会和原来的语句发生任何匹配的关系,只要全是用预编译语句,你就用不着对传入的数据进行任何的过滤。(暂时没想明白,个人认为过滤还是需要的)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。