JDBC学习(五、预编译语句对象)

本文介绍了PreparedStatement接口的主要方法,并详细对比了它与Statement的区别。PreparedStatement提供了更好的代码可读性和维护性,通过预编译提升性能,同时保证了SQL安全性,有效防止SQL注入。建议在开发中优先选用PreparedStatement。
摘要由CSDN通过智能技术生成

一、PreparedStatement接口的常用方法

是Statement的子接口,表示预编译的 SQL 语句的对象.设置占位符参数(告诉SQL中的?到底表示哪一个值):
 void  setXxx(int parameterIndex, Xxx value): xxx表示数据类型,比如:String,int,Long等.
        parameterIndex:设置第几个占位符?(从1开始).
        value:需要设置的参数值.
int executeUpdate():可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数.
ResultSet executeQuery() :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
注意:此时不需要传递SQL参数。
void close():关闭语句对象。


二、Statement和PreparedStatement的区别

PreparedStatement 的优点:
1).PreparedStatement 代码的可读性和可维护性. (SQL模板,使用占位符表示参数)
2).PreparedStatement 能最大可能提高性能(预编译),MySQL不支持PreparedStatement的性能优化.
3).PreparedStatement 能保证安全性,可以防止SQL注入危机
选择:使用PreparedStatement。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值