jdbc高级

1.
PreparedStatement对象可以执行已经预编译过的sql语句,其sql执行效率比Statement对象的执行效率更高。
可以在执行过程中向该对象中的sql语句传递参数
对于sql中每个输入参数都保留一个问好“”作为占位符
每个占位符的值必须在该语句执行前被赋值
PreparedStatement类是通过继承Statement类实现的

2.
创建PreparedStatement对象
Stringsql=“updateteacher set pay=?where id=?”;
PreparedStatement ps =con. prepareStatement(sql);
传递参数
在执行PreparedStatement 对象之前,为每个?赋值
调用PreparedStatement 对象的setXXX()方法来完成,其中xxx是和参数相应的类型。
传递参数的时候对应的序号是从1开始,且和sql中的问好对应
ps.setLong(1,800);
ps.setString(2,”1004”);

3、执行对应的sql语句
在使用PreparedStatement 对象设置sql语句以及对应的参数后,可以使用executeUpdate(),execute(),executeQuery()方法让其开始执行操作。

4、在PreparedStatement 中设置的sql语句可以反复的使用,如果没有被其他的sql语句覆盖的话。
传递另一个sql语句给同一个陈述对象,则新的sql语句覆盖已经存在的sql语句
ps= con. prepareStatement(sql2);
如果想清除PreparedStatement 对象中的sql语句可以使用Connection中的clearParameters()方法执行。
con. clearParameters();

5.
CallableStatement类继承了PreparedStatement类,主要用于执行SQL存储过程。
JDBC API提供了一个SQL存储过程的转义语法,该语法允许对所有RDBMS使用标准方式调用存储过程;该语法有一个包含结果参数的形式和一个不包含结果参数的形式。
如果使用了包含结果参数的形式,则必须将结果参数注册为OUT型参数。
结果参数以外的其他参数可用于输入、输出或同时用于二者。
参数是按数字形式引用,第一个参数的序号是1。

6.
CallableStatement是用Connection方法创建的,例如:
Connectioncon;
……
CallableStatementcst = con.prepareCall(“{ call getTestData( ?,? ) }”);
常用的方法
setString(String parameterName, String x )
将指定参数设置为给定的JAVA String值。
registerOutParameter(int parameterIndex, int sqlType )
按顺序位置parameterIndex将OUT参数注册为JDBC类型sqlType。
getString(int parameterIndex )
以JAVA编程语言中String的形式检索指定的JDBC CHAR、VARCHAR或LONGVARCHAR参数的值(获得结果)。

================================面试题==========================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值