`

jdbc 面试

阅读更多
CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种形式:一种形式带结果参,另一种形式不带结果参数。结果参数是一种输出 (OUT) 参数,是已储存过程的返回值。两种形式都可带有数量可变的输入(IN 参数)、输出(OUT 参数)或输入和输出(INOUT 参数)的参数。问号将用作参数的占位符。



1、Class.forName的作用 为什么要用
答:调用该访问返回一个以字符串指定类名的类的对象。

2、简述你对Statement,PreparedStatement,CallableStatement的理解 ( 15 分)
Statement 对象用于执行不带参数的简单 SQL 语句;
PreparedStatement 对象用于执行带或不带 IN 参数的预编译 SQL 语句;
CallableStatement 对象用于执行对数据库已存储过程的调用。

3、statement prestatement有什么区别
解答:后者的效率比前者高,在使用PreparedStatement对象执行SQL命令时,命令被数据库进行编译和解析,然后被放到命令缓冲区。然后,

每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用


如果要你写insert update delete 最好用preparedStatement,在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用

PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。

4、面试题:
ResultSet getResultSet(sql) {
  Statement create();
  Resultset rs = stmt.exe(sql)
  stmt.close();
  return rs;
}
上面的语句错误在什么地方?
解答:ResultSet和Statement是关联在一起的


5、说出数据连接池的工作机制是什么?
答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用
的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调
用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。


6、在Jcbc编程时为什么要养成经常释放连接的习惯( 10 分)
答:为了确保 JDBC 资源不在出现异常或错误等情况下被不正常关闭,我们应该在使用完 JDBC 资源之后关闭且释放它们。JDBC 连接池提供了

JDBC 连接定义和数目有限的连接,如果数量不够,就需要长时间的等待。不正常关闭 JDBC 连接会导致等待回收无效的 JDBC 连接。只有正常

的关闭和释放 JDBC 连接,JDBC 资源才可以被快速的重用使性能得到改善。

7、hibernate和Jdbc?
两个之间基本不是个级别的,hibernate包括了jdbc,jdbc是java用来连接,访问数据库的,hibernate需要封装jdbc才能运行。jdbc连接数据

库和hibernate大致相同,因为hibernate只是将配置信息写入到xml文件中,剩下连接数据库,访问数据库都要通过jdbc的。hibernate是一个

持久层框架,hibernate将表的信息映射到xml文件中,再从xml文件映射到相应的持久化类中,这样可以使用hibernate独特的查询语言hql了。

而jdbc访问数据库是通过sql语句直接访问的。hibernate的hql查询语句返回的是List<Object[]>类,而jdbc通过statement返回的查询结果是

ResultSet并且有时候需要自己封装到List中。hibernate其重要区别在于hibernate具有访问层(DAO类层),该层是HQL查询语句唯一出现的位置

,再往上层则不会出现查询语句,而jdbc可以随时连接随时访问,试想如果1000个类都有sql查询语句,如果表名变了是不是要全部重写1000个

类的查询语句呢?hibernate只需要将DAO层的类变了就行了,上层毫无关系,对数据维护有重要作用。再者,使用jdbc依然可以建立DAO层,但

是却需要大量的代码支持,而hibernate自己就有,不用编写。应该说全了吧


8、Jdo是什么
答:JDO是Java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对

象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上

,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库

(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强。




3. jdbc接口概貌  接口分为两个层次,一个是面向程序开发人员的JDBC API。另外一个是底层的JDBC Driver API。
3. 1. JDBC API
  JDBC API 被描述成为彝族抽象的Java接口,似的应用程序远可以对某个数据库打开连接,执行SQL语句并且处理结果。

最重要的接口是:
* java.sql.DriverManager 处理驱动的调入并且对产生新的数据库连接提供支持。
* java.sql.Connection 代表对特定数据库的连接。
* java.sql.Statement  代表一个特定的容器,来对一个特定的数据库执行SQL语句。
* java.sql.ResultSet  控制对一个特定语句的行数据的存取。
其中java.sql.Statement又有两个子类型:
1. java.sql.PreparedStatement  用于执行预编译的SQL语句。
2. java.sql.CallableStatement  用于执行对一个数据库内嵌过程的调用。
分享到:
评论

相关推荐

    J2EE技术面试题 EJB面试题 JDBC面试题 JSP面试题 Servlet面试题

    3. **JDBC面试题**: - JDBC是什么?它在J2EE中的作用是什么? - JDBC连接数据库的步骤是什么,包括加载驱动、建立连接、执行SQL、关闭资源等。 - 介绍PreparedStatement和Statement的区别。 - 什么是JDBC批处理...

    JDBC面试题1

    JDBC 面试题中提到的知识点涵盖了许多关键概念: 1. **JDBC**:Java Database Connectivity,是 Java 语言与各种数据库之间的桥梁,提供了一组标准的接口,使得程序员可以使用统一的方式来操作各种关系型数据库,...

    jdbc面试题

    JDBC 面试题集锦 JDBC(Java DataBase Connection)是一种Java API,用来连接和操作关系型数据库。在 Java 中,JDBC 是一个独立的 API,提供了统一的接口来访问不同的关系型数据库。下面是 JDBC 的一些重要知识点:...

    jdbc面试题目

    ### JDBC面试题目详解 #### 1. `Class.forName` 是什么?为什么需要它? `Class.forName` 是一个Java反射机制中的方法,用于加载指定类名的类。在JDBC编程中,`Class.forName` 主要用于加载特定数据库的驱动类。...

    2014 java servet jdbc struts struts2面试题

    【JDBC面试题】 1. **JDBC基本操作**:连接数据库、创建Statement或PreparedStatement、执行SQL、处理结果集。 2. **事务管理**:理解ACID特性,手动控制事务的提交和回滚。 3. **批处理**:提高性能的批量操作,...

    面试题及简历.rar

    JDBC面试题主要关注数据库操作和优化技巧: 1. **JDBC基本操作**:加载驱动、建立连接、执行SQL语句、结果集处理。 2. **预编译SQL**:PreparedStatement与Statement的区别,预编译的好处(防止SQL注入、提高性能)...

    JAVA面试 jdbc jaee mvc设计模式

    本文将深入探讨在Java面试中经常出现的一些核心知识点,包括JDBC、J2EE、MVC设计模式、Servlet、XML、线程以及面试技巧。 首先,JDBC(Java Database Connectivity)是Java与数据库交互的标准接口。它允许Java应用...

    java开始面试的第6天.doc

    【Java JDBC面试知识点详解】 1. **JDBC的含义与意义** JDBC(Java Database Connectivity)是Java语言中用于访问数据库的标准API,它为不同数据库提供了统一的接口,使得开发者无需关心具体的数据库实现细节,就...

    JAVA的JDBC详解,面试必问

    通过实例代码,让你认识JDBC,简单实用,面试必问 * Statement是一个接口,它表示语句对象。 * executeQuery():只能执行查询语句(DQL),返回ResultSet对象,即结果集对象。 * executeUpdate():执行DML语句...

    java jdbc ssh面试题

    Java SSH面试题主要涵盖三个核心领域:Java、Spring和Hibernate,这些都是Java Web开发中的关键框架。下面将分别解析这三个框架的主要知识点。 1. **Java**: - **基础语法**:包括类、对象、接口、多态、异常处理...

    常用jdbc包和面试题

    本篇将深入探讨常用的JDBC包以及相关的面试题,帮助提升你在数据库操作方面的技能。 首先,我们来看一下常用的JDBC包: 1. **java.sql**:这是JDBC的核心包,包含了很多用于数据库连接、执行SQL语句、处理结果集等...

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料.zip

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料: 2014年最新Java笔试题及答案.docx 225道Java面试题 学会了Java面试随你问.docx Ant和Maven的作用是什么?两者之间功能、特点有哪些区别?.docx ...

    java基础,SSH,MVC,JDBC,面试

    对于JDBC,面试官可能会询问关于事务管理、批处理操作和结果集处理的问题。在SSH方面,面试者需要了解各个框架的主要功能、配置以及如何在实际项目中整合使用。对于MVC模式,面试者应能阐述其工作原理,并给出在实际...

    Java笔试面试资料,Java基础,servlet,jdbc,ssh框架,数据库。以及综合面试题,部分学长总结的面试题和经验。

    收集总结了许多学长面试不同公司时面到的实际面试题。以及分享了回答问题的经验。 自己在去年10月份校招时,感觉有点用,特别是在给自己查漏补缺方面有一定的帮助。可以边看边结合里面提供的代码进行上机试验,已...

    Java面试宝典和2018Bat公司面试题

    数据库操作会涉及JDBC;设计模式是面试中的常考点,如单例模式、工厂模式、观察者模式等。 其次,《2018最新BAT java经典必考面试题》文档,则是根据2018年的面试趋势整理出的题目集。这份文档可能会包含算法题、...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    │ Java面试题34.jdbc中preparedStatement比Statement的好处.mp4 │ Java面试题35.数据库连接池的作用.mp4 │ Java面试题36.HTML.mp4 │ Java面试题37.简单介绍了一下Ajax.mp4 │ Java面试题38.js和JQuery的关系.mp4...

    java面试知识点总结--JDBC.pdf

    在面试中,了解JDBC的基础知识以及最佳实践是至关重要的。以下是对标题和描述中涉及的一些关键知识点的详细说明: 1. **注册JDBC驱动程序的三种方式**: - **静态注册**:通过`Class.forName(...

    Java面试题31.jdbc调用存储过程.mp4

    Java面试题31.jdbc调用存储过程.mp4

    JDBC专题(三)-JDBC完成用户注册功能

    ##### 3.1 PreparedStatement和Statement的对比(面试题) - **PreparedStatement**:提供了预编译的功能,可以提高执行效率和安全性,尤其适用于多次执行相同的SQL语句的情况。 - **Statement**:直接执行SQL语句...

    JDBC&OCBC桥接

    ### JDBC&OCBC桥接技术解析 #### 一、引言 在数据库连接与操作领域,JDBC(Java Database Connectivity)是一种广泛使用的标准接口,它为Java应用程序提供了访问各种数据库的能力。而ODBC(Open Database ...

Global site tag (gtag.js) - Google Analytics