jdbc高级

xiaoxiao2021-02-28  129

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参数的值(获得结果)。 ================================面试题==========================
转载请注明原文地址: https://www.6miu.com/read-35969.html

最新回复(0)