# Java – JDBC 连接示例（MySQL）

> 原文： [https://howtodoinjava.com/java/jdbc/jdbc-mysql-database-connection-example/](https://howtodoinjava.com/java/jdbc/jdbc-mysql-database-connection-example/)

如果您仍然在项目中使用 [**JDBC**](//howtodoinjava.com/category/java/jdbc/ "JDBC") 进行数据库访问，这很奇怪，因为有很多功能强大的替代方案，例如 [**Hiberate**](//howtodoinjava.com/hibernate-tutorials/ "hibernate") 和 [**iBatis**](//howtodoinjava.com/category/frameworks/ibatis/ "ibatis")。 但是学习基础知识很重要，并且需要先学习 JDBC。

![JDBC-Icon](img/353e2fc90002c7f65b66549c16f491fa.png)

在本文中，我将提供一个**示例，该示例使用 MySQL 驱动**与数据库建立连接。 阅读有关 [**JDBC 驱动的类型**](//howtodoinjava.com/java/jdbc/jdbc-basics-types-of-jdbc-drivers/ "JDBC Basics : Types of JDBC Drivers?")的更多信息。

处理连接需要执行以下步骤：

1）加载驱动

2）打开数据库连接

3）关闭数据库连接

让我们按照上面的代码步骤进行操作：

## 1）加载 JDBC 驱动

最简单的方法是在实现[**`java.sql.Driver`**](https://docs.oracle.com/javase/6/docs/api/java/sql/Driver.html)接口的类上使用`Class.forName()`。 对于 MySQL Connector/J，此类的名称为`com.mysql.jdbc.Driver`。 使用此方法，您可以使用外部配置文件来提供连接到数据库时要使用的驱动类名称和驱动参数。

```java
	Class.forName("com.mysql.jdbc.Driver");

```

作为初始化的一部分，[**`DriverManager`**](https://docs.oracle.com/javase/7/docs/api/java/sql/DriverManager.html)类将尝试加载在“`jdbc.drivers`”系统属性中引用的驱动类。 这允许用户自定义其应用使用的 JDBC 驱动程序。

## 2）打开数据库连接

在`DriverManager`中注册了驱动之后，可以通过调用`DriverManager.getConnection()`获得连接到特定数据库的`Connection`实例：

```java
	Connection connection = DriverManager
		.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");

```

建立连接后，就可以使用它来创建`Statement`和`PreparedStatement`对象，以及检索有关数据库的元数据。

## 3）关闭数据库连接

此步骤与打开连接一样重要。 任何打开的连接都会浪费资源，并导致各种异常。

```java
try 
{
	if(connection != null)
		connection.close();
	System.out.println("Connection closed !!");
} catch (SQLException e) {
	e.printStackTrace();
}

```

## 完整的 JDBC 连接示例

让我们在下面的示例中查看整个过程：

```java
package com.howtodoinjava.jdbc.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionDemo {
	public static void main(String[] argv) {

		System.out.println("-------- MySQL JDBC Connection Demo ------------");
		try 
		{
			Class.forName("com.mysql.jdbc.Driver");
		} 
		catch (ClassNotFoundException e) {
			System.out.println("MySQL JDBC Driver not found !!");
			return;
		}
		System.out.println("MySQL JDBC Driver Registered!");
		Connection connection = null;
		try {
			connection = DriverManager
				.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");
			System.out.println("SQL Connection to database established!");

		} catch (SQLException e) {
			System.out.println("Connection Failed! Check output console");
			return;
		} finally {
			try 
			{
				if(connection != null)
					connection.close();
				System.out.println("Connection closed !!");
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}

Output:

-------- MySQL JDBC Connection Demo ------------
MySQL JDBC Driver Registered!
SQL Connection to database established!
Connection closed !!

```

仅此而已。 如果需要更多说明，请发表评论。

**祝您学习愉快！**