使用命名参数的CallableStatement处理

简介:JDBC中的语句处理

在JDBC应用程序中,JDBC语句对象用于将SQL语句发送到数据库服务器。 语句对象与连接相关联,它是处理应用程序与数据库服务器之间通信的语句对象。

JDBC提供三种类型的语句对象:

  1. 一般性发言
  2. 准备好的声明
  3. 可赎回声明

语句对象与连接关联,因此您应该建立数据库连接以创建语句对象。

建立连接

下面清单1中的代码示例说明了如何创建连接:

清单1.加载Informix驱动程序并创建连接的示例代码
Connection con = null;
try {
Class.forName("com.informix.jdbc.IfxDriver");				
	String url = "jdbc:informix-sqli://hostname:port_number/dbname:
informixserver=servername; userid=userid;password=pwd;";
con = DriverManager.getConnection(url);		
}

现在让我们逐一检查三种语句对象。

一般声明

连接的createStatement方法用于创建此语句。 它专门用于不需要传递任何值作为参数SQL语句。

清单2.示例代码说明了create语句
Statement stmt = con.createStatement();
      cmd = "create database testDB;";
      rc = stmt.executeUpdate(cmd);
stmt.close();

准备好的陈述

准备好的语句是语句类的子类。 主要区别在于,与语句类不同,预处理语句仅被编译和优化一次,并且可以通过设置不同的参数值来多次使用。 因此,当您想多次执行一条语句时,准备语句是一个更好的选择。 由于采用编译形式,因此减少了执行时间。 因此,好处是预处理语句不仅包含SQL语句,而且还包含预编译SQL语句。 另一个区别是,SQL语句在创建时即被赋予准备好的语句。

清单3.示例代码说明准备好的语句
PreparedStatement pstmt = con.prepareStatement("UPDATE tab1 "+
                    "set col1 = ? where key = 1");
pstmt.setShort(1, (short)2);
int rowcount = pstmt.executeUpdate();

在这里,相同的准备好的语句可以用于col1的另一组值。 设置clearParameters参数后,它将保留该值,直到将其重置或clearParameters为止。 此功能使准备好的语句可用于批处理INSERT / UPDATE

批量更新

批处理更新功能提高了具有多个值设置的多次执行的单个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值