如果您仍然在项目中使用JDBC进行数据库访问,这是很奇怪的,因为有很多强大的替代方案,例如hibernate和iBatis 。 但是学习基础知识很重要,并且需要先学习JDBC。
在本文中,我将举一个使用MySQL Driver与数据库建立连接的示例 。 阅读有关types of JDBC drivers更多信息。
处理连接需要执行以下步骤:
1)加载驱动程序
2)打开数据库连接
3)关闭数据库连接
让我们在代码中执行上述步骤:
1) Load JDBC driver
最简单的方法是在实现java.sql.Driver接口的类上使用Class.forName()。 使用MySQL Connector / J时,此类的名称为com.mysql.jdbc.Driver 。 使用此方法,您可以使用外部配置文件来提供连接到数据库时要使用的驱动程序类名称和驱动程序参数。Class.forName("com.mysql.jdbc.Driver");
As part of its initialization, the DriverManager class will attempt to load the driver classes referenced in the “jdbc.drivers” system property. This allows a user to customize the JDBC Drivers used by their applications.
2) Open database connection
在DriverManager中注册了驱动程序之后,可以通过调用DriverManager.getConnection()获得连接到特定数据库的Connection实例:
Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");
建立连接后,就可以使用它来创建Statement和PreparedStatement对象,以及检索有关数据库的元数据。
3) Close database connection
此步骤与打开连接一样重要。 任何打开的连接都会浪费资源,并导致各种异常。try
{
if(connection != null)
connection.close();
System.out.println("Connection closed !!");
} catch (SQLException e) {
e.printStackTrace();
}
Complete JDBC Connection Example
让我们在下面的示例中查看整个过程: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 !!
这就是本主题的全部内容。 如果需要更多说明,请发表评论。