1.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程
2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement大,对于一次性操作并不会带来额外的好处。
3.statement每次执行sql语句,相关数据库都要执行sql语句的编译,preparedstatement是预编译得, preparedstatement支持批处理

用法:

conn = DriverManager.getConnection(url, userName, password); 

//创建PreparedStatement语句
PreparedStatement pstmtDelete = conn.prepareStatement(
"DELETE FROM student WHERE stu_id>=?");
PreparedStatement pstmtInsert = conn.prepareStatement(
"INSERT INTO student VALUES(?, ?, ?, ?)");
PreparedStatement pstmtSelect = conn.prepareStatement(
"SELECT * FROM student WHERE stu_id>=? " +
"ORDER BY stu_id"); int Integer.toString(id)); //多次执行同一语句
for (int i=0; i<3; i++, id++) { //使用setXXX方法设置IN参数
pstmtDelete.setString(1, Integer.toString(id)); pstmtInsert.setString(1, Integer.toString(id));
pstmtInsert.setString(2, "name"+id);
pstmtInsert.setString(3, "city"+id);
pstmtInsert.setDate(4, new Date(78, 2, id)); //执行PreparedStatement语句
pstmtDelete.executeUpdate();
pstmtInsert.executeUpdate();
ResultSet rs = pstmtSelect.executeQuery(); System.out.println("");
System.out.println("第 " + (i+1) + " 次循环后的结果集为:"); //显示返回的结果集
while (rs.next()) {
String stuID = rs.getString(1);
String String address = rs.getString(3);
String birthday= rs.getString(4);
System.out.println(stuID + " " +
name + " " + address + " " + birthday);
}
} pstmtDelete.close();
pstmtInsert.close();
pstmtSelect.close(); } catch(SQLException e) {
System.out.println("出现SQLException异常");
} finally {
//关闭语句和数据库连接
try {
if (conn != null) conn.close();
} catch(SQLException e) {
System.out.println("关闭数据库连接时出现异常");
}
} }

  

Java PrepareStatement的更多相关文章

  1. java sql database相关收集

    1 java prepareStatement http://www.importnew.com/5006.html 2 java ENGINE=InnoDB的使用 http://www.cnblog ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. Java Statement PK PrepareStatement

    PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement.PreparedStatement 和 CallableStatement三种方式来执行查询 ...

  4. java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer; at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.jav

    在整合spring和mybatis在执行数据库操作的时候报出了: java.lang.AbstractMethodError: org.mybatis.spring.transaction.Sprin ...

  5. Java基础——Statement与PrepareStatement

    Statement Statement是Java运行数据库操作的一个重要方法.用于在已经建立数据库连接的基础上.向数据库发送要运行的SQL语句.Statement对象,用于运行不带參数的简单SQL语句 ...

  6. java攻城狮之路--复习JDBC(PrepareStatement)

    PreparedStatement: 1.可以通过调用 Connection 对象的 preparedStatement() 方法获取 PreparedStatement 对象 2.PreparedS ...

  7. java sql: PrepareStatement

    参见菜鸟教程:JDBC 使用说明 增删改查: public class DbUtil { public static final String URL = "jdbc:mysql://loc ...

  8. MySQL_(Java)使用preparestatement解决SQL注入的问题

    MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC创建用户名和密码校验查询方法 传送门 MySQL数据库中的数据,数据库名garysql,表名gar ...

  9. 吴裕雄--天生自然JAVA数据库编程:PrepareStatement

    import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.SQLException ; import j ...

随机推荐

  1. 4、Docker的安装

      docker官方安装文档 Mac上安装Docker   Install Docker for Mac | Docker Documentation Windows安装Docker   Instal ...

  2. [leetcode] 13. Remove Duplicates from Sorted List

    这个题目其实不难的,主要是我C++的水平太差了,链表那里绊了好久,但是又不像用python,所以还是强行上了. 题目如下: Given a sorted linked list, delete all ...

  3. solr特点七:Plugins(扩展点)

    http://wiki.apache.org/solr/SolrPlugins 在 Solr 1.3 中,扩展 Solr 以及配置和重新整理扩展变得十分简单.以前,您需要编写一个 SolrReques ...

  4. if、else if 、else及switch...case使用小记(C#)

    有时候编程编的久了,如果不停下来认真思考一下,即便是一些最基础的知识点,也可能让自己懵圈.其实,说到底还是打基础的时候没打牢,或者说自以为是地认为自己懂了,然后在打基础的时候就懒得思考懒得看了,结果就 ...

  5. 一次MySQL线上慢查询分析及索引使用

    本文由作者郑智辉授权网易云社区发布. 0.前言 本文通过分析线上MySQL慢查询日志,定位出现问题的SQL,进行业务场景分析,结合索引的相关使用进行数据库优化.在两次处理问题过程中,进行的思考. 1. ...

  6. jdk动态代理 案例

    import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflec ...

  7. case when then end 用法

    select type,numbers,case monthst when 1 then '一月'when 2 then '二月'when 3 then '三月'else '其他月'end month ...

  8. JavaScript一个页面中有多个audio标签,其中一个播放结束后自动播放下一个,audio连续播放

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. mxonline实战5,用户注册的验证码

        github对应地址:验证码好麻烦     一. 安装 配置 1. pip install django-simple-captcha 2. add captcha to the INSTAL ...

  10. Python的科学计算包matplotlib setup

    回想起大学四年 专业一直使用matlab,然而我却没在PC上装成功过,以前懒于思考这种数学工具的作用,直到最近,大学同学研究生要毕业了,几经交流,和自己阅读了一些机器学习的教材之后,发觉科学计算包和画 ...