PreparedStatement 和 CallableStatement 的区别

PreparedStatement 和 CallableStatement 的区别

1. 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

2. PreparedStatement:

当想多次使用 SQL 语句时使用它。PreparedStatement 接口在运行时接受输入参数。

例子 –

//Creating the PreparedStatement object 
PreparedStatement geekdocsDemo = con.prepareStatement("update STUDENT set NAME = ? where ID = ?");

//Setting values to place holders  
geekdocsDemo.setString(1, "RAM");   //Assigns "RAM" to first place holder

geekdocsDemo.setInt(2, 512);     //Assigns "512" to second place holder

//Executing PreparedStatement
geekdocsDemo.executeUpdate();

CallableStatement 和 PreparedStatement 之间的区别:

CallableStatement PreparedStatement
当要执行存储过程时使用它。 用于多次执行 SQL 查询时使用。
可以传递 3 种类型的参数 IN、OUT、INOUT。 可以在运行时传递任何类型的参数。
用于执行功能。 用于要执行多次的查询。
性能非常高。 性能优于Statement。
用于调用存储过程。 用于执行动态 SQL 查询。
它扩展了 PreparedStatement 接口。 它扩展了语句接口。
没有协议用于通信。 协议用于通信。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程