JDBC(Java Database Connectivity,Java数据库连接)是应用程序编程借口(API),描述了一套访问关系数据库的标准Java类库。可以在程序中使用这些API,连接到关系数据库,执行SQL语句,对数据进行处理。JDBC不但提供了访问关系数据库的标准API,还为数据库厂商提供了一个标准的体系结构,让厂商可以为自己的数据库提供JDBC驱动程序,这些驱动程序可以让Java应用程序直接访问厂商的数据库产品,从而提高了Java程序访问数据库的效率。
1、JDBC驱动程序的类型:
JDBC驱动程序可以分为4类,分别是:
- 1)JDBC-ODBC桥:通过ODBC访问数据库。
- 2)部分本地API,部分Java驱动程序:大都C语言编写,依赖具体的平台。
- 3)JDBC网络纯Java驱动程序:利用中间件的应用服务器来访问数据库,应用服务器作为数据库的网关,客户端通过它可以连接到不同的数据库服务器,如WebLogic服务器。
- 4)本地协议纯Java驱动程序:目前,绝大多数数据库厂商支持客户程序通过网络直接与数据库通信的网络协议来直接访问数据库。这种类型的JDBC驱动程序完全用Java编写,通过与数据库建立直接的套接字连接,采用具体厂商的网络协议把JDBC API调用转换为直接的网络调用。这种类型的驱动是访问数据库效率最高的,不过,由于每个数据库厂商有自己的协议,因此访问不同厂商的数据库,需要不同的JDBC驱动程序。
2、下载MySQL JDBC 驱动
MySQL的JDBC 驱动程序没有包含在数据库的安装包中,需要单独下载,下载的网址为:MySQL :: Download Connector/Jhttps://dev.mysql.com/downloads/connector/j/在浏览器中输入上面的网址,进入MySQL的JDBC 驱动程序的下载页面,如下图:
在上图下拉框中选择“Platfrom Independent”,然后出现如下图,Window平台下载zip文件下载。
将zip文件解压缩,将出现一个类似mysql-connector-j-8.3.0.jar的文件,它就是MySQL数据库的JDBC驱动。
3、JDBC API
JDBC API包含在JDK中,被分为两个包:java.sql和javax.sql。java.sql包中定义了访问数据库的接口和类,其中一些接口由驱动程序提供商来实现。
在开发数据库访问程序时,经常会编写如下的代码。
String url = "jdbc:mysql://127.0.0.1:3306/mysql";
String username = "root";
String password = "2005Liuzx0302";// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,username,password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from user_info");
从上面代码可以看出利用JDBC访问数据库有统一的步骤。
1)首先调用Class类的forName()方法加载要访问的数据库的JDBC驱动类,
2)接下来调用Java的JDBC API(java.sql包)中的DriverManager类中的getConnection方法建立与数据库的连接,
3)然后调用Connection对象的createStatement方法,
4)最后调用Statement对象的executeQuery方法执行SQL语句得到ResultSet对象,就可以利用该对象来获取数据库中的数据了。
当然,最后要关闭数据库连接对象,释放数据库连接资源。