Statment和PrepareStatement的区别与联系

原创
10/14 23:52
阅读数 90

Statement 和 PreparedStatement之间的关系和区别.
    关系:PreparedStatement继承自Statement,都是接口
    区别:

(1)PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高 ,statement是正常的创建连接,而PrepareStatement 是预处理创建连接(2)量比较多,在PreparedStatement预编译空间范围之内,选择PreparedStatement,因为其只预编译一次sql语句。
(3)量特别大,使用Statement,因为PrepareStatement的预编译空间有限,当数据量特别大时,会发生异常。
详解:
1、PreparedStatement:表示预编译的 SQL 语句的对象。
   接口:public interface PreparedStatement extends Statement之间的继承关系
   SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
   注:用于设置 IN 参数值的设置方法(setShort、setString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法,问号的位置也是应该注意的,因为第一个问好的位置为1,第二个问号的位置为2.以此类推。

2。Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。
在默认情况下,同一时间每个 Statement 对象只能打开一个 ResultSet 对象。因此,如果读取一个 ResultSet 对象与另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。

 
PreparedStatement代码演示:

Statement代码演示:

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部