“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. java数据库连接的作用_java数据库连接池的作用
  2. 利用Java存储过程简化数据库操作
  3. 以太坊和EOS的DApps数量飙升但用户量滞后
  4. 注解 java 反射_java注解和反射
  5. java ssh框架 struts spring hibernate 简介
  6. awk和cut分割字符区别
  7. RFS的web自动化验收测试——第12讲 List Variables-List变量及其用法
  8. 通过rxjs的一个例子, 来学习SwitchMap的使用方法
  9. MongoDB via Dotnet Core数据映射详解
  10. BZOJ 1791 岛屿(环套树+单调队列DP)
  11. P2P中的NAT穿越方案
  12. localhost基本概念
  13. python半自动化获取QQ空间说说
  14. Python3截图识字工具
  15. iOS - Safe iOS 加密安全
  16. 模4补码(也称为变形补码)详解
  17. Geant4能谱展宽【Gaussian Broadning】-root作图
  18. 室女座 - Virgo
  19. 使用ros将点云投影到图像平面实时显示,激光雷达和相机融合处理
  20. 利用阿里云大数据产品建设数据中台?

热门文章

  1. 微课|中学生可以这样学Python(2.3.3节):内置函数zip()
  2. php能用大括号写数组,PHP7.4不再支持使用大括号访问数组以及字符串的偏移
  3. DEV-C++调试设置
  4. c++rpg黑框游戏_c++实现简单RPG对战游戏的代码.doc
  5. 337. 打家劫舍 III(JavaScript)
  6. python重定向网页_【Python网页分析】httplib库的重定向处理
  7. spring容器_Spring容器文档阅读要点记录
  8. 计算机英语口试,英语口试面对“电脑考官”有哪些临场应试技巧
  9. 接口编译后生成什么文件_NDK编译生成Android可执行文件
  10. mysql insert s锁_MySQL 死锁套路:唯一索引 S 锁与 X 锁的爱恨情仇