“Statement”对象,每执行一条语句,都会让数据库先编译再运行
“PreparedStatement”对象,则会相同语句,不同参数(通过?号传入)进行一次编译

所以“PreparedStatement”对象有两个优点:
1.预编译功能提高了执行效率
2.通过“?”传递参数,可以防止SQL注入,安全性高

Connection 接口 描述
PreparedStatement prepareStatement(String sql) 指定预编译sql语句,使用“?”作为参数占位符
PreparedStatement 接口 描述
int executeUpdate() 执行 DML,增删改的操作,返回影响的行数。
ResultSet executeQuery() 执行 DQL,查询的操作,返回结果集
PreparedStatement接口设置参数方法 描述
void setDouble(int parameterIndex, double x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setFloat(int parameterIndex, float x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setInt(int parameterIndex, int x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setLong(int parameterIndex, long x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setObject(int parameterIndex, Object x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。
void setString(int parameterIndex, String x) 第一个参数是指定“?”号的位置,第二个参数是填入的值。

示例:

 String sql = "select * from test where name=?"; PreparedStatement ps = connection.prepareStatement(sql); ps.setString(1, name); ResultSet resultSet = ps.executeQuery();

Java JDBC PreparedStatement类相关推荐

  1. Java JDBC工具类

    虽然现在都有框架封装 , 基本没人用这个了 . 但是如果经常在N个环境N个数据库之间查询数据  , 偶尔用下这个也是挺方便的~ package com.xbz;import com.alibaba.f ...

  2. java jdbc工具类抽取_JavaWeb入门(三):JDBC工具类的抽取

    一.通过上篇文章,我们已经可以使用JDBC对数据库中的表进行增删改查啦(JDBC的基本使用:https://www.cnblogs.com/Infancy/p/12499806.html),我们对上篇 ...

  3. java entitymanager类_如何在Java JDBC EntityManagerFactory类中设置实体的ID?

    我用MySQL Workbench创建了我的MySQL数据库,然后添加了MySQL JDBC Driver和EclipseLink库,然后从数据库创建了实体类;所有使用NetBeans.由于我的观点和 ...

  4. java jdbc操作类_Java-编写一个jdbc操作类

    package数据库操作类;/** Db.java Created on 2007年8月20日, 上午 8:37*/ import java.io.*;import java.sql.*;import ...

  5. Java JDBC DriverManager类

    用来连接数据库,返回connection连接对象. Connection getConnection (String url, String user, String password) 参数 描述 ...

  6. JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  7. java jdbc 工具_实现JDBC的工具类

    package mysql; /* * 实现JDBC的工具类 * 定义方法,直接返回数据库的连接对象 */ import java.sql.Connection; import java.sql.Dr ...

  8. c mysql封装 jdbc_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现

    最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  9. java jdbc 教程_java JDBC系列教程之JDBC类的简析与JDBC的基础操作

    什么是JDBC? 概念:JAVA Database Connectivity Javas数据库连接,Java语言操作数据库接口,然后由各个数据库厂商去实现这个接口,提供数据库驱动java包,我们可以使 ...

最新文章

  1. python编程问题---第一次
  2. 5G与AI深度融合,人类世界即将产生巨变
  3. eclipse常用插件安装
  4. [备忘]silverlight中关于“复制到输出目录”和“生成操作”
  5. 在Android上使用Socket
  6. 成为优秀高级程序员的10个要点
  7. 优先级调度算法(C++实现)
  8. [js] 写一个方法判断数组内元素是否全部相同
  9. 设计模式学习笔记五——Prototype模式
  10. 设计模式---状态变化模式之备忘录模式(Memento)
  11. Django周总结一
  12. error : cannot open source file SDKDDKVer.h
  13. 信息科技:铁塔和400G光模块表现亮眼
  14. 中兴网管无法连接服务器怎么办,中兴传输网管系统问答
  15. 特征检测和特征提取算子
  16. 蓝牙核心规范(V5.2)3.2-深入详解之数据传输架构
  17. 搭建电信之“云”需从基础入手 业务拓展紧跟市场需求
  18. 小米官网html二级导航怎么做,小米路由器做二级路由器怎么设置?
  19. CVE20190708复现
  20. MIPI入门——D-PHY介绍(一)

热门文章

  1. 淮北计算机考试报名,淮北2019年12月计算机等级考试报名入口/注意事项
  2. 从零开始学前端:CSS引入 --- 今天你学习了吗?(CSS:Day07)
  3. 微课|Python程序设计开发宝典(5.1.2节):嵌套函数定义2
  4. 使用Python处理声音文件(一):让歌曲重复两次
  5. latex图片_Latex使用图片、文献、模板——自定义与路径指定
  6. Linux 生产者与消费者模型C++实现
  7. java键盘监听keyadapter_JAVA 键盘监听当中,释放键盘并没有停止运动
  8. 计算机分级无法度量视频,雨林木风win7旗舰版电脑评分时出现无法度量视频播放性能...
  9. python如何定义m×n矩阵_python的N×M矩阵乘法
  10. JAVA引用aar_AndroidStudio之如何引入和使用aar包