PrepareStatement概述

Statement安全问题

Statement执行 ,其实是拼接sql语句的。 先拼接sql语句,然后在一起执行。

 String sql = "select * from t_user where username='"+ username  +"' and password='"+ password +"'";UserDao dao = new UserDaoImpl();dao.login("admin", "100234khsdf88' or '1=1");SELECT * FROM t_user WHERE username='admin' AND PASSWORD='100234khsdf88' or '1=1' 前面先拼接sql语句, 如果变量里面带有了 数据库的关键字,那么一并认为是关键字。 不认为是普通的字符串。 rs = st.executeQuery(sql);

PrepareStatement相比较以前的statement, 预先处理给定的sql语句,对其执行语法检查。 在sql语句里面使用 ? 占位符来替代后续要传递进来的变量。 后面进来的变量值,将会被看成是字符串,不会产生任何的关键字。

String sql = "insert into t_user values(null , ? , ?)";ps = conn.prepareStatement(sql);//给占位符赋值 从左到右数过来,1 代表第一个问号, 永远你是1开始。ps.setString(1, userName);ps.setString(2, password);

PrepareStatement概述相关推荐

  1. JDBC预处理对象prepareStatement

    JDBC预处理对象prepareStatement概述 一.SQL注入问题 SQL注入:用户输入的内容作为了SQL语句语法的一部分,改变了原有SQL真正的意义. 假设有登录案例SQL语句如下: SEL ...

  2. jdbc驱动_JDBC概述和CRUD

    第八章 JDBC的简介 8.1 简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问 ...

  3. java概述_Java 7功能概述

    java概述 前面我们讨论了所有未纳入Java 7的内容,然后回顾了将其纳入Java的有用的Fork / Join框架 . 今天的帖子将带我们了解Project Coin的每个功能-一系列小的语言增强 ...

  4. Java 7功能概述

    前面我们讨论了所有未纳入Java 7的内容,然后回顾了将其纳入Java 7的有用的Fork / Join框架 . 今天的帖子将带我们了解Project Coin的每个功能-一系列小的语言增强功能,这些 ...

  5. [转载] 快速学习-Mybatis框架概述

    参考链接: Java在竞争性编程中的快速I/O 第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互 ...

  6. JDBC——概述与JDBC的使用

    引言 一直希望深入学习一下数据库持久化技术,接触过Hibernate.Mybatis,也使用过Spring事务管理来控制回滚操作,但是越发觉得底层知识有一定的知识盲区和空洞. 很多ORM框架都是基于J ...

  7. Lucene第一讲——概述与入门

    一.概述 1.什么是Lucene? Lucene是apache下的一个开源的全文检索引擎工具包. 它为软件开发人员提供一个简单易用的工具包(类库),以方便的在目标系统中实现全文检索的功能. 2.能干什 ...

  8. 小汤学编程之JDBC(一)——JDBC概述和快速入门

    一.JDBC概述 1.概念     2.作用 二.JDBC快速入门 1.实现步骤     2.查询数据和操作数据     3.SQL注入     4.事务管理     5.Statement与Prep ...

  9. java day53【 Mybatis框架概述 、 Mybatis 框架快速入门、自定义 Mybatis 框架 】

    第1章 框架概述 1.1 什么是框架 1.1.1 什么是框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种 定义认为,框架是可被应用开发者定 ...

最新文章

  1. springboot整合swagger2之最佳实践
  2. javascript的垃圾回收机制指的是什么
  3. easyui datagrid 的小纠缠
  4. python画柱形图-Python数据分析:柱形图的绘制方法
  5. 示例在同一台机器上使用RMAN克隆数据库
  6. 我心目中理想的开源软件
  7. 笨办法学C 练习6:变量类型
  8. 安装DirectX SDK时出现Error Code:s1023 的解决方案
  9. ArcGIS实验教程——实验十三:栅格空间插值分析
  10. 学习Python要多久 要如何学习
  11. 总结:Linux磁盘分区管理
  12. 基于深度学习的信道估计(DL-CE)基础知识
  13. 网易如何做新闻推荐:深度学习排序系统及模型
  14. Nginx源码阅读 --- nginx evnet事件接受请求时,函数执行过程
  15. Linux下网络通信
  16. 前端H5面试题Js: 数组的常用方法有哪些?
  17. k8s部署nginx
  18. CF831A-Unimodal Array(单峰阵列)
  19. 单片机加减法计算器_单片机加法计算器程序
  20. java实现附件预览(openoffice+swftools+flexpaper)

热门文章

  1. 实时热点网站有哪些?3个超实用的热点网站,轻松找热点
  2. AIBlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理、区块链和爬虫技术的智能会议系统》软件系统案例的界面简介、功能介绍分享之一、会前智能
  3. 加利福尼亚 房价信息(fetch_california_housing)
  4. 手把手教你打印出PDF(fpdf的简单应用)
  5. 公文OCR开发包软件
  6. LTE(4G) - NR (5G) 手机发送能力(UE Capability)
  7. 读书笔记-精准努力-自主学习的动力和急用学习的好处
  8. Python实战案例,requests模块,Python实现模拟登录淘宝网
  9. nacos1.4.1启动报错acos is starting with cluster
  10. Python爬虫可视化-舌尖上的“小龙虾”