jdbc和mysql面试题_JDBC数据访问技术面试题(附答案)

随着移动互联网的发展,从事计算机行业的人越来越多,这些人中,选择java的人占了很大一部分比例,相信有很多的人都有面试的需要。在java面试中,少不了的内容就是面试题了,今天来说一说JDBC数据访问技术面试题都有哪些,来盘点一下常考面试题。

1、什么是JDBC,在什么时候会用到它?

答:JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。

JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。

2、JDBC如何做事务处理?

答:Con.setAutoCommit(false);

Con.commit();

Con.rollback();

3、在JDBC中常用的接口有哪些?

答:在JDBC中常用的接口有,(1)prepared Statement(2)callable Statement(3)statement(4)Connection(5)Result Set这五个。

4、对Statement,Prepared Statement,Callable Statement的理解是什么?

答:statement用于执行静态SQL语句并返回它所生成结果的对象,在执行时确定sql。Prepared Statement表示预编译的SQL语句的对象。SQL语句被预编译并且存储在 Prepared Statement 对象中。然后可以使用此对象高效地多次执行该语句,可以传参数,在得到Prepared Statement对象时确定sql。

Callable Statement用于执行SQL存储过程的接口。如果有输出参数要注册说明是输出参数。

5、JDBC是如何实现Java程序和JDBC驱动的松耦合的?

答:JDBC API使用Java的反射机制来实现Java程序和JDBC驱动的松耦合。随便看一个简单的JDBC示例,你会发现所有操作都是通过JDBC接口完成的,而驱动只有在通过Class.forName反射机制来加载的时候才会出现。这是Java核心库里反射机制的最佳实践之一,它使得应用程序和驱动程序之间进行了隔离,让迁移数据库的工作变得更简单。

6、JDBC的Driver Manager是用来做什么的?

答:JDBC的Driver Manager是一个工厂类,我们通过它来创建数据库连接。当JDBC的Driver类被加载进来时,它会自己注册到Driver Manager类里面,然后我们会把数据库配置信息传成Driver Manager.get Connection()方法,Driver Manager会使用注册到它里面的驱动来获取数据库连接,并返回给调用的程序。

7、写一段JDBC连Oracle的程序?

答:

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:accp","system","system");

8、JDBC的事务管理是什么,为什么需要它?

答:默认情况下,我们创建的数据库连接,是工作在自动提交的模式下的。这意味着只要我们执行完一条查询语句,就会自动进行提交。因此每条查询,实际上都是一个事务,如果执行的是DML或者DDL,每条语句完成的时候,数据库就已经完成修改了。

JDBC接口提供了一个set Auto Commit(boolean flag)方法,我们可以用它来关闭连接自动提交的特性。我们应该在需要手动提交时才关闭这个特性,不然的话事务不会自动提交,每次都得手动提交。数据库通过表锁来管理事务,这个操作非常消耗资源。因此我们应当完成操作后尽快的提交事务。在这里有更多关于事务的示例程序。

9、Java中访问数据库的步骤?

答:连接Oracle数据库

Class.forName(“oracle.jdbc.driver.OracleDriver”);

Connection con=DriverManager.openConnection(“jdbc:oracle:thin:@localhost:1521:DataBase ”,” UserName”,”Password ”)

利用JDBC检索出表中的数据

Class.forName(“”);

Connection con=DriverManager.openConnection(“ ”,” ”,” ”)

preparedStatment ps=Con.preparedStatment(“select * from [table]”);

ResultSet rs=ps.executeQuery();

While(rs.next)

{

Rs.getString(1) 或rs.getString(“字段名”)

}

10、JDO是什么?

答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库等等,使得应用可移植性更强。

上面的10道题就是在java面试中常考的JDBC数据访问技术面试题了。随着人们对JDBC的兴趣日益增涨,越来越多的开发人员一直在使用基于JDBC的工具,以使程序的编写更加容易。Java程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序,所以面试官还是比较喜欢和重视对JDBC方面的考察的,希望朋友们可以将这10道JDBC数据访问技术面试题掌握好,顺利通过面试。

你可能感兴趣的:(jdbc和mysql面试题)