Statement和PreparedStatement的区别及占位符使用方法

Statement和PreparedStatement的区别

首先先说二者联系:

  1. PreparedStatement继承自Statement
  2. PreparedStatement与Statement都是接口

然后是二者区别:

  1. PreaparedStatement是会进行预编译的,而Statement是不会预预编译
    于是当我们进行操作时,有时会考虑使用哪一个 。
    首先我们先明确,PreparedStatement的对象开销是比Statement大的,但是,它会进行预编译, 也就是说,下一次再使用该对象时,不会再次编译,从而节约了编译时间,而Statement是不会进行预编译的
    所以,当我们需要批量处理的时候,就使用PreparedStatement,并且PreparedStatement支持使用占位符
    当我们仅需一次性存取时使用Statement。

在这引申一下占位符使用

String sql = ("insert into student values(?,?)");/在这用?代替字符
PreparedStatement preparedStatement = connection.prepareStatement(sql);

在我们需要使用占位符时就:
preparedStatement.setInt(1,6);
preparedStatement.setString(2,张三);
注意,这里student的表列名分别是:id int,name varchar(20)
我们使用set时,第一个参数从1开始写,第二个参数为代替占位符的内容
就例如上述的代码,在表中插入了id:6 name:张三 的一行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值