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的PreparedStatement用法

PreparedStatement l  它是Statement接口的子接口; l  强大之处: Ø  防SQL攻击; Ø  提高代码的可读性、可维护性; Ø  提高效率! l  学习Pr...
  • dzy21
  • dzy21
  • 2016年07月17日 14:59
  • 18644

Java中JDBC常见对象

JDBC对象介绍 JDBC中的主要类(接口) 在JDBC中常用的类有: l  DriverManager; l  Connection; l  Statement; l  ResultSe...
  • dzy21
  • dzy21
  • 2016年07月14日 13:29
  • 2151

jdbc查询数据库返回实体对象集合

最近做prefuse中用到原始的数据库查询 try { ResultSet rs = null; String hqltonode="SEL...
  • baidu_23086307
  • baidu_23086307
  • 2016年08月03日 16:03
  • 2098

使用JDBC 插入向数据库插入对象

package com.ctl.util; import java.io.IOException; import java.lang.reflect.Field; import java.lang....
  • CTLLIN
  • CTLLIN
  • 2014年05月09日 01:19
  • 8360

JDBC:数据库自定义类型与Java类的映射—将对象存储在关系数据库中(二)

这里利用PostgreSQL扩展的JDBC方法进行数据库
  • T_27080901
  • T_27080901
  • 2014年09月28日 20:12
  • 2870

JDBC通过反射机制批量的把List里面的对象添加到数据库中

1. 通过传递BOList,表名,sequence,还有一个表字段的数组为参数,来完成数据的批量删除       String[] columnNames = {"BIZ_CODE_ID","CODE...
  • linwei_1029
  • linwei_1029
  • 2010年06月10日 09:57
  • 4054

将jdbc结果集ResultSet转换成对象列表

将jdbc结果集转换成对象列表  估计hibernate就是用得这种方式进行转换的。  实体对象  点击(此处)折叠或打开 package test; /...
  • yuyingting5
  • yuyingting5
  • 2017年07月28日 10:33
  • 511

JDBC事务及将查询结果封装成对象(通用)

事务(ACID): 1、 原子性(atomicity):组成事物处理的语句形成了一个逻辑单元,不能只执行其中的一部分; 2、 一致性(consistency):在事务处理执行前后,数据库是一致的(...
  • tianjian4592
  • tianjian4592
  • 2012年07月25日 09:34
  • 5540

JDBC之通过ResultSet对象对结果集进行处理

原文链接:http://dev.csdn.net/develop/article/35/article/35/article/34/article/34/article/34/article/34/a...
  • dacula
  • dacula
  • 2004年11月09日 15:17
  • 21734

JDBC的几个常用对象

JDBC中常见的对象,实现与业务逻辑层的交互  1、Connection对象:  *Connection conn = DriverMananger.getConnection(url,usern...
  • sujianxin2012
  • sujianxin2012
  • 2014年09月03日 22:12
  • 717
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java JDBC应用(一)——PraparedStatement对象
举报原因:
原因补充:

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