preparedStatement与statement

 PreparedStatement接口:
  是statement接口的子接口,扩展了statement接口,可以通过in参数进行处理,对in参数用占位符?表示。
  PreparedStatement的基本工作原理:预编译的机制,插入时,先占位,之后再设置内容。
PreparedStatement和Statement区别:
*安全性: 1 statement使用字符串追加的方式得到sql文,容易出现sql注入,导致数据不安全
   2 PreparedStatement是提供了对in参数的处理,故不会出现sql注入,数据安全
*执行效率:1statement是用户每发送一次sql,oracle数据库端就编译一次,然后执行
  2 PreparedStatement:预编译的机制:只有第一次发送sql时候,编译后放到oracle数据库端,以后再发出相同的请求,
则不再编译直接执行sql文,所执行效率更高。

String sql = "SELECT USER_ID,USERNAME,PASSWORD FROM T_USER WHERE USERNAME like '%'||?||'%'";

            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "%a%"); 占位符的位置从1开始,不是0,resultSet结果集的列也是从1开始,不是0.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值