【第22期】观点:IT 行业加班,到底有没有价值?

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处理形式更简单的语句。

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

相关文章推荐

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

阅读目录 一、JDBC常用的API深入详解及存储过程的调用 1、存储过程(Stored Procedure)的介绍 2、JDBC调用无参存储过程 3、JDBC调用含输入参数存储过程 ...

【第七章】 对JDBC的支持 之 7.3 关系数据库操作对象化 ——跟我学spring3

<div style="color: rgb(0,0,0)

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

Java小品——简单的JDBC应用实现。

一.什么是JDBC?

【第七章】 对JDBC的支持 之 7.3 关系数据库操作对象化 ——跟我学spring3

<div style="color: rgb(0,0,0)
  • isiqi
  • isiqi
  • 2012-02-27 08:42
  • 303
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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