以下可以正确获取结果集的有

A Statement sta=con.createStatement();<br>ResultSet rst=sta.executeQuery(“select * from book”);
B Statement sta=con.createStatement(“select * from book”); ResultSet rst=sta.executeQuery();
C PreparedStatement pst=con.prepareStatement();
ResultSet rst=pst.executeQuery(“select * from book”);
D PreparedStatement pst=con.prepareStatement(“select * from book”);
ResultSet rst=pst.executeQuery();

又是一脸懵逼的我

Statement 和 PreparedStatement之间的关系和区别.
    关系:PreparedStatement继承自Statement,都是接口
    区别:PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高    
详解:
1、PreparedStatement:表示预编译的 SQL 语句的对象。
   接口:public interface PreparedStatement extends Statement之间的继承关系
   SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
   注:用于设置 IN 参数值的设置方法(setShort、setString 等等)必须指定与输入参数的已定义 SQL 类型兼容的类型。例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法,问号的位置也是应该注意的,因为第一个问好的位置为1,第二个问号的位置为2.以此类推。
   如果需要任意参数类型转换,使用 setObject 方法时应该将目标 SQL 类型作为其参数。
   在以下设置参数的示例中,con 表示一个活动连接:

 PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SALARY = ? WHERE ID = ?");pstmt.setBigDecimal(1, 1533.00)pstmt.setInt(2, 1102)pstmt.execute()//注意提交时这里不能再有sql语句,不同于Statment
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class PreparedStatementTest {public static void main(String[] args) {test_autoCommit();}public static  void test_autoCommit(){String driver="oracle.jdbc.driver.OracleDriver";String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user="briup";String password="briup";Connection conn=null;PreparedStatement ps=null;try {//1、注册驱动Class.forName(driver);//2、获取连接conn= DriverManager.getConnection(url, user, password);//System.out.println(conn);//3、创建prepareStatement对象String sql="insert into lover values(?,?,?)";ps=conn.prepareStatement(sql);//4、执行sql语句ps.setInt(1,21);//代表设置给第一个?号位置的值为Int类型的21ps.setString(2,"suwu150");//代表设置给第二个?号位置的值为String类型的suwu150java.util.Date utilDate=new java.util.Date();//进行类型转换,由util类型的date转化为sql类型的ps.setDate(3, new java.sql.Date(utilDate.getTime()));//ps.execute();//执行System.out.println(ps.execute());//执行表输出返回的结果,结果为false,因为没有返回的结果集//5、处理结果集} catch (Exception e) {e.printStackTrace();}finally{//6、关闭资源try {if(ps!=null)ps.close();} catch (SQLException e) {e.printStackTrace();}try {if(conn!=null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}
}   

2、Statement:用于执行静态 SQL 语句并返回它所生成结果的对象。
   接口:public interface Statement extends Wrapper
在默认情况下,同一时间每个 Statement 对象只能打开一个 ResultSet 对象。因此,如果读取一个 ResultSet 对象与另一个交叉,则这两个对象必须是由不同的 Statement 对象生成的。如果存在某个语句的打开的当前 ResultSet 对象,则 Statement 接口中的所有执行方法都会隐式关闭它。  
   如以下操作:创建statement对象

 Statement stat=conn.createStatement();String sql="insert into lover values(6,'suxingxing',to_date('21-9-2016','dd-mm-yyyy'))";stat.execute(sql);//这里提交时应该有sql语句,不同于PreparedStatment

来看一下实际使用吧:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class StatementTest {public static void main(String[] args) {test_autoCommit();}public static void test_autoCommit(){String driver="oracle.jdbc.driver.OracleDriver";String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";String user="briup";String password="briup";Connection conn=null;Statement stat=null;try {//1、注册驱动Class.forName(driver);//2、获取连接conn= DriverManager.getConnection(url, user, password);conn.setAutoCommit(false);//System.out.println(conn);//3、创建statement对象stat=conn.createStatement();//4、执行sql语句String sql="insert into lover values(22,'suxingxing',to_date('21-9-2016','dd-mm-yyyy'))"; //注意格式
//           stat.execute(sql);System.out.println(stat.execute(sql)); //返回值为false,因为同样没有ResultSet返回集conn.commit();//5、处理结果集} catch (Exception e) {e.printStackTrace();try {conn.rollback();} catch (SQLException e1) {e1.printStackTrace();}}finally{//6、关闭资源try {if(stat!=null)stat.close();} catch (SQLException e) {e.printStackTrace();}try {if(conn!=null)conn.close();} catch (SQLException e) {e.printStackTrace();}}}
}

答案A,D 我是歌谣,期待和你一起成长

文章仅个人理解,来在各大网站。如有不合理之处,欢迎吐槽。

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380691

阅读目录(置顶)(长期更新计算机领域知识)https://blog.csdn.net/weixin_43392489/article/details/102380882

阅读目录(置顶)(长期科技领域知识)https://blog.csdn.net/weixin_43392489/article/details/102600114

歌谣带你看java面试题 https://blog.csdn.net/weixin_43392489/article/details/102675944

java面试题10 牛客:以下可以正确获取结果集的有相关推荐

  1. java面试题29 牛客 以下关于集合类ArrayList、LinkedList、HashMap描述

    java面试题29 牛客 以下关于集合类ArrayList.LinkedList.HashMap描述错误的是() A HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或 ...

  2. java面试题23 牛客ArrayLists和LinkedList的区别,下述说法正确的有?

    java面试题23 牛客ArrayLists和LinkedList的区别,下述说法正确的有? A ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. B 对于随 ...

  3. Java面试题 22 牛客 Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持

    Java面试题 22 牛客 Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:(          ) A Java反射主要涉及的类如C ...

  4. Java面试题18 牛客 假定Base b = new Derived();

    Java面试题18 牛客 假定Base b = new Derived(); 调用执行b.methodOne()后,输出结果是什么? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  5. Java面试题17 牛客 下面哪个选项正确创建socket连接?

    Java面试题17 牛客 下面哪个选项正确创建socket连接? Socket s = new Socket(8080); Socket s = new Socket("192.168.1. ...

  6. Java面试题16 牛客 以下java程序代码,执行后的结果是()

    Java面试题16 牛客 以下java程序代码,执行后的结果是() 1 2 3 4 5 6 7 8 9 10 public class Test {     public static void ma ...

  7. java面试题28 牛客 下面有关java classloader说法错误的是?

    java面试题28 牛客 下面有关java classloader说法错误的是? A Java默认提供的三个ClassLoader是BootStrap ClassLoader,Extension Cl ...

  8. Java面试题15牛客 以下关于Integer与int的区别错误的是

    Java面试题15牛客 以下关于Integer与int的区别错误的是 A int是java提供的8种原始数据类型之一 B Integer是java为int提供的封装类 C int的默认值为0 D In ...

  9. Java面试题19 牛客下面有关java的引用类型,说法正确的有?

    Java面试题19下面有关java的引用类型,说法正确的有? A:对于一个对象来说,只要有强引用的存在,它就会一直存在于内存中 B:如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可 ...

最新文章

  1. php中的header头,PHP中常用的header头部定义
  2. linux模拟题,Linux操作系统模拟题.doc
  3. linux启动java包脚本
  4. 区块链溯源系统架构---区块链工作笔记002
  5. 关于struct和class的知识
  6. 搜狐笔试 最大连续递增子段和 关键词连续递增
  7. 车位编号lisp_CAD自动编号操作
  8. Mac 下的破解版软件真的安全吗?
  9. cad统计面积长度插件vlx_cad计算总长度插件下载|
  10. 最优投资组合--马科维茨投资组合理论
  11. java迷宫注释_写下走迷宫游戏的注释
  12. 解密猫晚直播技术:如何保障全球200多个国家和地区同时在线狂欢?
  13. txt文本怎么去除重复项
  14. 花了10分钟终于明白矩阵的逆怎么用了!
  15. pan图像全色图像_HTML5图像效果–棕褐色
  16. Review Troller
  17. Caltech-UCSD Birds-200-2011
  18. P17 五子棋的实现4 悔棋功能
  19. HZAU新版正方教务系统一键教学评价
  20. MySQL:如何获得 MySQL 毫秒、微秒

热门文章

  1. Java 理论与实践:让 J2EE 脱离容器
  2. php模拟表单提交登录,PHP模拟表单的post请求实现登录
  3. 蓝宝石英语怎么读_黑金和蓝宝石
  4. python面向过程是基于面向对象的_Python5.1-面向对象与面向过程
  5. Javascript基础(二)
  6. C++ 控制结构和函数(一) —— 控制结构
  7. 内联函数 —— C 中关键字 inline 用法解析
  8. 电脑延迟关机命令Shutdown详解
  9. [react] 请说说react中Portal是什么?
  10. 重学java基础第十六课:jdk jre jvm