简介:JDBC中的语句处理
在JDBC应用程序中,JDBC语句对象用于将SQL语句发送到数据库服务器。 语句对象与连接相关联,它是处理应用程序与数据库服务器之间通信的语句对象。
JDBC提供三种类型的语句对象:
语句对象与连接关联,因此您应该建立数据库连接以创建语句对象。
建立连接
下面清单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
。
批量更新
批处理更新功能提高了具有多个值设置的多次执行的单个