IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 关于Statement和Prestatement区别 -> 正文阅读

[大数据]关于Statement和Prestatement区别

  • Statement

是java.sql包下的一个接口,想必在学习过jdbc的同学们就对这个接口有一定的印象,Statement接口下有很多方法是对sql语句处理的,例如executeQuery(“sql语句”)方法

       //3,创建数据库对象
        Statement stmt=con.createStatement();

        //4,对数据库进行操作
        String sql="select * from dept";
        ResultSet result=stmt.executeQuery(sql);

但是随着java越来越完善,发现Statement有很多缺点,其中有个缺点就是会发生sql注入,就是当输入例如账号密码等信息的时候,一些懂sql语句的人他会在密码后输入一些sql语句关键字来强制进入;
那么这是为什么呢?
因为啊,当用statement来操作用户输入这些操作的时候他是采用字符串拼接的方式,它里面的sql语句是用户传入后,拼接好了之后才交给DBMS来进行编译。

String  sq="select * from b_name wherename=
'"+varname+"'and passwd='"+varpasswd+"'";

这里面的 varname和 passwd 是需要用户来传入的,如果一些懂sql语法的人在传入passwd的时候传入1234’or ‘a’='a 这种格式的话,经过拼接的话就是passwd= 1234’ or ‘a’=‘a’ ;这我们知道a=a是恒成立的,所以一定会通过,就会造成恶意进入;
那我们怎末解决呢?答案是Prestatement

Prestatement

  • Prestatement接口是statement的一个子接口,Prestatement就能解决上面所述的sql注入问题,Prestatement也能进行批量处理:
  • 它是怎末解决注入问题呢?
    是因为他进行了预处理,上面说过,就是应为不合法的拼接,然后DBMS编译才造成sql注入,现在Prestatement先把sql语句进行编译,然后再传值,这样就避免了这个问题。sql语句里面需要传值的地方用 ? 代替,这被称为占位符。

如有错误请指出,谢谢

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-20 15:51:25  更:2021-09-20 15:54:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:05:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码