面试被问JDBC底层是如何连接数据库的

治疗白癜风的专科医院 http://disease.39.net/bjzkbdfyy/171015/5762961.html

背景

前两天一个小伙伴面试的时候,被问JDBC底层是如何连接数据库的?

他顿时一脸懵逼,因为大部分人只知道JDBC的几个步骤,至于底层到底是怎么连接数据库的,还真不知道。

由于小伙伴是面试高级开发,问这种问题倒也不能说面试官过分,如果是初级或者中级,那问着问题就确实有些过分了。

但是如果你在初级或者中级的阶段,就知道了答案,岂不是爽歪歪么?

估计大部分人都不知道这个问题该怎么回答,稍微发散一下思维,倒是可以猜测一下,今天我们就来搞清楚JDBC底层到底是如何连接数据库的。往后别再猜了。

反过来,如果面试官问你JDBC的时候,你能知道底层是怎么连接数据库的,估计,很多相对较水的面试官也会一脸懵逼。

何为JDBC?

JDBC(JavaDataBaseConnectivity)是Java和数据库之间的一个桥梁,是一个「规范」而不是一个实现,能够执行SQL语句。JDBC由一组用Java语言编写的类和接口组成。各种不同类型的数据库都有相应的实现,注意:本文中的代码都是针对MySQL数据库实现的。

JDBC架构

分为双层架构和三层架构。

双层

作用:此架构中,JavaApplet或应用直接访问数据源。

条件:要求Driver能与访问的数据库交互。

机制:用户命令传给数据库或其他数据源,随之结果被返回。

部署:数据源可以在另一台机器上,用户通过网络连接,称为C/S配置(可以是内联网或互联网)。

三层

侧架构特殊之处在于,引入中间层服务。

流程:命令和结构都会经过该层。

吸引:可以增加企业数据的访问控制,以及多种类型的更新;另外,也可简化应用的部署,并在多数情况下有性能优势。

历史趋势:以往,因性能问题,中间层都用C或C++编写,随着优化编译器(将Java字节码转为高效的特定机器码)和技术的发展,如EJB,Java开始用于中间层的开发这也让Java的优势突显出现出来,使用Java作为服务器代码语言,JDBC随之被重视。

入门案例

下面给出一个

JDBC

入门级案例:

publicclassJdbcDemo{publicstaticfinalStringURL=jdbc:mysql://localhost:/mblog;publicstaticfinalStringUSER=root;publicstaticfinalStringPASSWORD=;publicstaticvoidmain(String[]args)throwsException{Class.forName(


转载请注明:http://www.aierlanlan.com/rzgz/5468.html