java JDBC应用(一)——PraparedStatement对象

原创 2015年07月10日 14:32:17


java JDBC的实际应用中,经常出现PraparedStatement的身影——预编译的 SQL语句的对象。

用途:

SQL语句被预编译并存储在 PreparedStatement对象中。然后可以使用此对象多次高效地执行该语句。

优势:

在数据库操作中,PraparedStatement体现出灵活高效率的特点。

优势之一:SQL语句预编译,提前Get Ready

      PreparedStatement pstmt=conn.prepareStatement("select ROWNUM rn,user_id,user_name,password,contact_tel,email,create_date from(select ROWNUM rn,user_id,user_name,password,contact_tel,email,create_date from(select user_id,user_name,password,contact_tel,email,create_date from T_USER WHERE USER_ID <>'root' ORDER BY user_id) WHERE ROWNUM <= '?') WHERE rn> '?'"; ");

      pstmt.setInt(1, pageNo * pageSize);                                                  pstmt.setInt(2,( pageNo - 1) * pageSize) ;
      rs = pstmt.executeQuery();


优势之二:使用占位符?传参,同一SQL多次执行

      PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");

      pstmt.setBigDecimal(1, 153833.00)
      pstmt.setInt(2, 110592)

      通过对不同类型的参数进行赋值,使得同一update语句通过Set**方法传入不同参数,调用pstmt对象执行更新,可灵活配置多个不同类型参数执行SQL语句 

典型应用过程:

1、创建一个PreparedStatement对象

创建一个PreparedStatement对象将参数化的 SQL语句发送到数据库。(带有 IN参数或不带有 IN 参数的 SQL 语句都可以被预编译并存储在PreparedStatement对象中。然后可以有效地使用此对象来多次执行该语句。)

PreparedStatement preparedStatement=con. prepareStatement("UPDATE EMPLOYEES SET CarNo = ? WHERE ID = ?");

2、有IN参数的sql语句,设置参数,将指定参数设置为给定的具体值    

preparedStatement. setInt(1,CarNo);     preparedStatement. setInt(2, ID);  

          注: parameterIndex -第一个参数是 1,第二个参数是 2,依此类推

3、调用PreparedStatement对象执行sql语句方法【execute()executeQuery()executeUpdate()】[均无参]

         PreparedStatement对象中执行 SQL语句,该语句可以是任何种类的 SQL 语句。一些预处理过的语句返回多个结果,execute方法处理这些复杂的语句,executeQueryexecuteUpdate处理形式更简单的语句。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

深入 理解 Statement 和 PreparedStatement

一、使用Statement而不是PreparedStatement对象 JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它...

基于CXF Servlet方式发布Restful的Web服务(入门篇)

基于CXF Servlet方式发布Restful的Web服务(入门篇) ##。最近在学WebService,刚刚做好一个实习,希望对自己的学习进行记录,也希望能给其他感兴趣的小伙伴提供帮助。 希望通过...

Ubuntu:nat模式设置静态ip,达到上网与主机相互通信

网上资料很多,但是都不怎么实用,这里给大家总结一下。nat模式上网。因为nat本身就能上网为什么还要设置ip。这有点自找麻烦。但是在集群这是必须的。要么你搭建伪分布,要么至少具有三台物理机器。为了节省...

Java数据库连接——JDBC调用存储过程,事务管理和高级应用

阅读目录 一、JDBC常用的API深入详解及存储过程的调用 1、存储过程(Stored Procedure)的介绍 2、JDBC调用无参存储过程 3、JDBC调用含输入参数存储过程 ...
  • wdk1011
  • wdk1011
  • 2017年07月30日 22:13
  • 186

java工具类——jdbc

  • 2017年05月01日 23:14
  • 5KB
  • 下载

Java面向对象——IO流 总结应用(打印流)

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 面向对象 流操作的基本规律:最痛苦的就...

黑马程序员--Java面向对象——IO流 总结应用(打印流)

面向对象 流操作的基本规律:最痛苦的就是流对象有很多,不知道该用那一个。 通过明确来完成。 (1)、明确源和目的 源:输入流InputStream Reader ...

达内java视频ppt全集(4)——JDBC

  • 2013年08月04日 15:12
  • 7.99MB
  • 下载

java语言基础(33)——面向对象(父类中没有无参构造编译报错——无法将类 xxx中的构造器 xxx应用到给定类型 实际参数列表和形式参数列表长度不同)

注意:以下代码是错的。 class Father { public Father(String name){ System.out.println("Father带参构造"); } } cl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java JDBC应用(一)——PraparedStatement对象
举报原因:
原因补充:

(最多只允许输入30个字)