- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
javaJDBC预编译相关的知识点.docxjavaJDBC预编译相关的知识点.docxjavaJDBC预编译相关的知识点.docx
JAVA_JDBC预编译 相关知识点
什么是预编译语句?
预编译语句PreparedStatement是java.sql中的一个接口,它是Statement的子接口。通过Statement对象执行sql语句时,需要将sql语句发送给DBMS,由DBMS首先进行编译再执行(在创建通道的时候并不进行sql的编译工作,事实上也无法进行编译)。而通过PreparedStatement不同,在创建PreparedStatement对象时就指定了sql语句,该语句立即发送给DBMS进行编译,当该语句被执行时,DBMS直接运行编译后的sql语句,而不需要像其他sql语句那样首先将被编译。
什么时候使用预编译语句?
当语句格式固定的时我们倾向于使用PreparedStatement,只有当语句格式无法预见时,才考虑使用Statement。
一般在考虑反复使用一个sql语句时才使用预编译,预编译语句常常放在一个循环中使用(在这种情况下预编译的优势就很明显了),通过反复设置参数从而达到多次使用该语句;还有一个原因就是防止sql注入漏洞。
为什么使用预编译语句?
1、提高效率
当需要数据库进行数据插入、更新或者删除的时候,程序给发送整个sql语句给数据库处理和执行。数据库处理一条sql语句,需要完成对sql语句的解析、检查语法以及生成代码;一般来说,处理时间要比执行sql的时间长。预编译语句在创建的时候就已经将sql语句发送给了DBMS,完成了解析、检查语法以及生成代码的过程。因此,当一个sql语句需要执行多次时,使用预编译语句可以减少处理时间,提高执行效率。
2、提高安全性
恶意的sql语句
String sql = “select * from user_tb where username= ‘”+username+”’ and password = ‘”+password+”’;
如果我们把[‘or’1’=’1]作为password传入,用户名随意,那么就可以随意登陆了。更有甚者,把[‘;drop table user_tb;]作为password传入,这就严重危害了数据库安全了。而如果你使用预编译语句,你传入的任何内容就不会和原来的语句发生任何匹配的关系,只要全是用预编译语句,你就用不着对传入的数据进行任何的过滤。(暂时没想明白,个人认为过滤还是需要的)
您可能关注的文档
- Excel2007分类汇总与分级显示使用.docx
- excel不同工作表同单元格求及.doc
- 公安基础知识习题1—没答案.doc
- Excel十种实用小技巧.docx
- 公安基础知识参考模拟试题.doc
- 公安基础知识模拟试卷及答案三.doc
- 公安基础知识[多选103道][1] [2].doc
- 地产新媒体营销解决方案--朗月营销服务[2].ppt
- 公安基础知识模拟试题3.doc
- Excel隐藏功能.docx
- 广西壮族自治区钦州市2024-2025学年高二10月月考历史历史试题(解析版).docx
- 河南省百师联盟2024-2025学年高二上学期10月月考历史历史试题(解析版).docx
- 山东省泰安市2024-2025学年高三上学期第一次学月质量检测历史试题(解析版).docx
- 山西省晋中市部分高中学校2024-2025学年高二上学期9月月考历史试题(解析版).docx
- 江西省部分学校2024-2025学年高三上学期9月月考考试历史试题(解析版).docx
- 贵州省贵阳市乌当区某校2024-2025学年高一上学期第一次月考历史历史试题(解析版).docx
- 贵州省贵阳市六校联盟2024-2025学年高二上学期联合考试(一)历史历史试卷(解析版).docx
- 河南省洛阳市强基联盟2024-2025学年高二上学期10月联考历史试题(解析版).docx
- 辽宁省名校联盟2024-2025学年高二上学期第一次月考历史试卷(解析版).docx
- 黑龙江省龙东联盟2024-2025学年高一上学期10月月考历史试卷(解析版).docx
文档评论(0)