JDBC那些事(三)——PreparedStatement预编译对象
来源:互联网 发布:php开源考试系统 编辑:程序博客网 时间:2024/06/06 15:12
“PreparedStatement 接口继承了Statement,并与之在两方面有所不同:有人主张,在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,在任何时候都不要使用Statement。”这是百度百科对PreparedStatement接口阐述的一句话。那么PreparedStatement具体又有什么好处呢。这些好处又是怎么提现的?下面通过代码分析来说明PreparedStatement的好处。
String sql = “select * from user where user_id=?”;PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1, “1001”);ResultSet rs = pstmt.executeQuery();以上一段PreparedStatement执行sql的代码。我们发现在通过Connection对象创建PreparedStatemnet对象是需要一个sql语句。这个语句也可以理解为一个模版或者函数。其中“?”就是我们所要传参数的占位符。在得到了pstmt对象以后,我们需要通过setXXXX("参数位置编号",对应数据类型的参数)方法为sql模版传参,从而组装成一条完整的sql语句然后通过executeQuery()向数据库发送sql得到执行结果集ResultSet。此处我们和前面的Statement对象方式对比,似乎没什么大的区别只是感觉语句简明了一点,这样只是提高了代码的可读性和维护性。
还有非常重要的一点,PreparedStatement还能大大的提高效率,因为PreparedStatement对象会预编译sql模版。在以后执行相同的语句模版只需要传参给他就可以重复执行,而不需要在进行编译。这是PreparedStatement对象最大的有点。最后在提一点比较过失的,PreparedStatement还可以房子SQL攻击。不过这种SQL攻击在现在是基本不可能存在了,因为防止的方式很多。所以在实际的开发中基本都是用PreparedStatement。
0 0
- JDBC那些事(三)——PreparedStatement预编译对象
- JDBC中的——PreparedStatement 预编译原理
- JDBC 开发步骤及PreparedStatement预编译处理对象
- JDBC的预编译语言对象PreparedStatement为什么优于Statement
- 预编译语句对象PreparedStatement
- 预编译PreparedStatement以及jdbc缺点
- JDBC:PreparedStatement预编译执行SQL语句
- JAVA通过JDBC链接数据库获取数据(三)PreparedStatement预编译SQL
- 使用PreparedStatement预编译语句对象
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
- 从零开始学JDBC--1.7 PreparedStatement-- 预编译sql
- jdbc中预编译语句PreparedStatement的深层分析
- jdbc+sql+preparedStatement使用预编译实现增添数据
- 使用预编译(PreparedStatement)—— Login 源代码示例
- PreparedStatement like 预编译
- PreparedStatement 预编译
- PreparedStatement 预编译原理
- 微信登录
- Uri详解之——Uri结构与代码提取
- nvdimm 新的内存
- 搭建java开发环境
- Linux以外的7种开源操作系统
- JDBC那些事(三)——PreparedStatement预编译对象
- Python零基础入门十九之爬虫基础知识
- 具有负边的图最短路径算法
- Spark 2.0系列之SparkSession详解
- laravel--访问器
- 谷歌官方下拉刷新功能SwipeRefreshLayout
- python2.7里边目录python列出文件夹里面的所有内容
- java上传文件到ftp服务器(匿名方式)
- 理解Base64编码