Statement 和 CallableStatement 的区别

Statement 和 CallableStatement 的区别

1. Statement:
它用于访问数据库。语句接口不能接受参数,在运行时使用静态 SQL 语句时很有用。如果只想运行一次 SQL 查询,则此接口优于 PreparedStatement

例子 –

//Creating The Statement Object  
Statement geekdocsDemo = con.createStatement();

//Executing The Statement  
geekdocsDemo.executeUpdate("CREATE TABLE STUDENT(ID NUMBER NOT NULL, NAME VARCHAR)");

2. CallableStatement:
当要使用数据库存储过程时使用它。CallableStatement 可以接受运行时输入参数。

例子 –

//Creating CallableStatement object 
CallableStatement geekdocsDemo = con.prepareCall("{call anyProcedure(?, ?, ?)}");

//Use geekdocsDemo.setter() methods to pass IN parameters

//Use geekdocsDemo.registerOutParameter() method to register OUT parameters

//Executing the CallableStatement
 geekdocsDemo.execute();

//Use geekdocsDemo.getter() methods to retrieve the result

Statement 和 CallableStatement 之间的区别:

Statement CallableStatement
当 SQL 查询只执行一次时使用它。 当要执行存储过程时使用它。
不能在运行时传递参数。 可以在运行时传递参数。
用于 CREATE、ALTER、DROP 语句。 用于执行函数功能。
性能非常低。 性能优于Statement。
用于执行正常的 SQL 查询。 用于调用存储过程。
它是基本接口。 它扩展了 PreparedStatement 接口。
它用于 DDL 语句。 它用于存储过程。
不能使用语句来读取二进制数据.. 可以使用 CallableStatement 来读取二进制数据..

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程