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调用含输入参数存储过程 ...

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

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

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

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

java工具类——jdbc

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

7.3.1  概述        所谓关系数据库对象化其实就是用面向对象方式表示关系数据库操作,从而可以复用。 Spring JDBC框架将数据库操作封装为一个RdbmsOperation,该对象...

Java小对象的解决之道——对象池(Object Pool)的设计与应用

一、概述 面向对象编程是软件开发中的一项利器,现已经成为大多数编程人员的编程思路。很多高级计算机语言也对这种编程模式提供了很好的支持,例如C++、Object Pascal、Java等。曾经有大量的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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