说到JDBC我们都不陌生,但对于一些Java初学者来说还是不太清楚JDBC是什么。我们在Java术语中说的JDBC其实就是Java数据库连接(Java Database Connectivity),是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。当然,这只是JDBC的文字定义,更多的还需要我们去理解JDBC到底是什么。
JDBC也是Sun Microsystems的商标,我们通常说的JDBC是面向关系型数据库的。SUN公司提供的一种数据库访问规则、规范,由于数据库种类较多,并且java语言使用比较广泛,sun公司就提供了一种规范,让其他的数据库提供商去实现底层的访问规则。我们的java程序只要使用sun公司提供的jdbc驱动即可。
通俗一点来说,作为一个Java程序员,在开发项目时肯定会涉及到对数据库的增删改查。但是我们知道市面上的DBMS不止一个,如MySQL、Oracle、DB2、SQLite。当我们使用MySQL时,需要写操作MySQL的Java代码。当使用Oracle时,需要写操作Oracle的Java代码……
这样太麻烦,学习成本太高。所以我们能不能只使用一种Java代码,就可以操作不同的数据库?答案当然是肯定的,而且很早就已经由oracle公司给出了答案。
Oracle公司编写了一套如何访问及操作数据库的API,Java程序员使用这套API操作数据库,这套API就是JDBC。JDBC为程序员指定了一组在编写SQL请求时使用的面向对象的类。还有一组附加的类描述了JDBC驱动API。能映射成Java数据类型的最普通的SQL数据类型都是支持的。这个API提供了微软事务服务器请求的执行支持以及提交和回滚到事务开始的能力。
这套API是规范,每个数据库厂商都遵守,并由各个数据库厂商来实现JDBC的实现类。这些实现类又称作驱动类。
JDBC是Java语言中用来规范客户端如何程序如何来访问数据库的应用程序接口(API),提供了诸如查询和更新数据库中数据的方法。
数据库种类太多,程序员学起来,用起来太麻烦。所以,官方提供了一套API即JDBC作为规范。厂商和程序员都遵守它,数据库厂商实现API,程序员使用这一套接口编程。以MySQL为例,MySQL厂商将实现类即驱动,将其打包成了jar包mysql-connector-java-x.x.x供我们使用。这样就出现了多态,我们使用JDBC这套API编程,导入mysql-connector-java-x.x.xjar包,实际上执行的是我们jar中实现类的方法。
看到这里,我们多多少少对JDBC有了一定的了解,相要回答JDBC是什么的问题,轻而易举。也有可能我们对JDBC的理解程度不同,但JDBC的本质是不变的,实际上就是一套能够访问及操作各种数据库的API。
代码小兵57603-29 17:54
代码小兵69606-07 17:03
代码小兵22104-13 18:12
代码小兵22104-20 20:22