PreparedStatement 预编译
什么是预编译语句?
预编译语句PreparedStatement是java.sql中的一个接口,它是Statement的子接口。通过Statement对象执行sql语句时,需要将sql语句发送给DBMS,由DBMS首先进行编译再执行(在创建通道的时候并不进行sql的编译工作,事实上也无法进行编译)。而通过PreparedStatement不同,在创建PreparedStatement对象时就指定了sql语句,该语句立即发送给DBMS进行编译,当该语句被执行时,DBMS直接运行编译后的sql语句,而不需要像其他sql语句那样首先将被编译。
例如我们在向数据库插入数据:
java.sql.Statement stmt=conn.createStatement();
stmt.executeUpdate("insert into student(name,id,number,count) "
+ "values('"+var1+"','"+var2+"',"+var3+",'"+var4+"')");
String sql ="insertinto student values(null,?,?,?)";
//创建PreparedStatement对象时编译sql语句
java.sql.PreparedStatement pstmt=conn.preparedStatement(sql); pstmt.setString(1,var1);
将参数与SQL语句分离出来,这样就可以方便对程序的更改和延续,同样,也可以减少不必要的错误
pstmt.executeUpdate();
PreparedStatement 预编译相关推荐
- PreparedStatement预编译的sql执行对象
一.预编译,防sql注入 其中,设置参数值占位符索引从1开始:在由sql 连接对象创建 sql执行对象时候传入参数sql语句,在执行对象在执行方法时候就不用再传入sql语句: 数据库索引一般是从1开始 ...
- java安全(二):JDBC|sql注入|预编译
给个关注?宝儿! 给个关注?宝儿! 给个关注?宝儿! 关注公众号:b1gpig信息安全,文章推送不错过 1 JDBC基础 JDBC(Java Database Connectivity)是Java提供 ...
- 5单个编译总会编译全部_JDBC【5】 JDBC预编译和拼接Sql对比
在jdbc中,有三种方式执行sql,分别是使用Statement(sql拼接),PreparedStatement(预编译),还有一种CallableStatement(存储过程),在这里我就不介绍C ...
- jdbc(跟着宝哥学java:jdbc) jdbc概念,铁打步骤,jdbc封装,预编译对象,sql攻击
1 概念 jdbc:java database connection 通过java连接数据库 sun公司为java连接所有数据库提供的一组接口; jdbc驱动:各个数据库厂家为自己的数据库根据jdbc ...
- mybatis以及预编译如何防止SQL注入
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者).[摘自] SQL injection - Wikipedia SQL ...
- java预编译啥意思_java预编译 java jdbc 预编译语句和普通语句的区别
java中什么是预编译precompile?总有一天你恍然大悟,父母是你花心思,花时间最少,却最爱你的人. 什么是预编译?起什么作用的? . 在java中如何实现预编译?祝你幸福!这句话真俗.小编会祝 ...
- mybatis深入理解(一)之 # 与 $ 区别以及 sql 预编译
mybatis 中使用 sqlMap 进行 sql 查询时,经常需要动态传递参数,例如我们需要根据用户的姓名来筛选用户时,sql 如下: select * from user where name = ...
- mysql预编译语句拼接查询_SQL语句预编译(查询)
SQL语句预编译 SQL语句预编译能预防SQL注入提高安全性,是因为SQL语句在程序运行前已经进行了预编译,在程序运行时第一次操作数据库之前,SQL语句已经被数据库分析,编译和优化,对应的执行计划也会 ...
- Java预编译和批处理
预编译 package csdn.prepare.take;import java.sql.Connection; import java.sql.DriverManager; import java ...
最新文章
- 《理解 OpenStack + Ceph》---来自-[爱.知识]-推荐
- 俄罗斯、乌克兰程序员薪资大曝光!年薪普遍 15w+,女程序员比男程序员收入高?...
- mysql数据库优化课程---16、mysql慢查询和优化表空间
- redis的观察者模式----------发布订阅功能
- linux系统下对磁盘的,学会在Linux下对硬盘分区
- 正则表达式二 :贪婪与非贪婪
- 配置ftp服务器亲测可用
- 批量删除redis键
- SDWebImage的使用说明
- 单元词检索计算机,单元词法
- 电子病历基本架构与数据标准
- 人脸聚类--最好的防御是进攻
- 排序算法之 Heap Sort
- MATLAB 读取txt文件(importdata函数)
- java服务器项目,java项目服务器部署
- 需要计算机安装msxml,怎么在电脑上安装msxml6.0?教大家具体安装步骤
- matlab中ones函数的使用方法详细介绍(附matlab代码)
- 几种ARM编译器及IDE开发环境
- 史丰收速算 (蓝桥杯)
- android WIFI相关问题集合
热门文章
- ​什么是50ETF期权?
- java属于什么意向应聘岗位_请针对你意向的岗位简单介绍自己。
- 【硬件】电脑主机结构 | 总分总
- 【贪玩巴斯】Unity3D初学圣经(三)—— unity中的基础概念——scene场景,component组件,assets文件夹和Material材质,Mesh Renderer与shader
- php判断安卓还是苹果客户端
- html 最小边框宽度,div边框粗细
- 4G临近,最新高大上4G旗舰机型推荐
- 初学UI设计会接触什么 怎么用PS时间轴做动画
- 计算机科学与技术用惠普星15,设计与科技的完美融合惠普 x360
- 重返帝国各氪度阵容推荐