zoukankan      html  css  js  c++  java
  • 相对于Statement,PreparedStatement的优点是什么?

    在jdbc组件中,尽量使用PreparedStatement而避免使用Statement,原因如下:


    1、PreparedStatement可读性更高,维护性更强(Statement需要动态拼接);


    2、PreparedStatement在被编译后会被缓存下来,下次调用相同的预编译语句时不需要重新编译,只需传入对应参数就行;而对于Statement来说,及时insert into tb_name values(1,"11")、insert into tb_name values(1,"12"),由于插入的数据不同,需要重新编译语句;


    3、Statement有可能会有sql注入风险:

    1.  ps.executeUpdate(select * from tb_name where username='"+name+"' and passwd='"+passwd+"');

    如果将"or'1'='1'作为参数传入passwd,则任何用户名都可验证成功,或者直接传入drop table tb_name,那整张表都有被删除的可能。而 PreparedStatement是预编译的,后续传入的数据不会跟语句进行匹配关系。

  • 相关阅读:
    HTTP && 缓存
    querySelector $() getElementBy区别
    Canvas 雾玻璃
    Github page
    Browserify
    关于布局和结构
    how to install flash
    kali update can’t found win7 loader
    arp spoofing
    How To Set Up Port Forwarding in Linux
  • 原文地址:https://www.cnblogs.com/csk001/p/14222695.html
Copyright © 2011-2022 走看看