如果您在项目中仍然使用JDBC进行数据库访问,这很奇怪,因为有很多强大的替代品,如hibernate和iBatis。但是学习基础很重要,需要先学习JDBC。
在这篇文章中,我给出了一个使用 MySQL Driver 与数据库建立连接的例子。阅读有关JDBC 驱动程序类型的更多信息。
处理连接需要以下步骤:
1) 加载驱动
2) 打开数据库连接
3) 关闭数据库连接
让我们在代码中按照上述步骤操作:
1) 加载JDBC驱动
最简单的方法是在实现java.sql.Driver接口的类上使用 Class.forName() 。对于 MySQL Connector/J,这个类的名称是com.mysql.jdbc.Driver。使用此方法,您可以使用外部配置文件来提供连接到数据库时要使用的驱动程序类名称和驱动程序参数。
Class.forName("com.mysql.jdbc.Driver");
作为其初始化的一部分,DriverManager类将尝试加载“jdbc.drivers”系统属性中引用的驱动程序类。这允许用户自定义其应用程序使用的 JDBC 驱动程序。
2) 打开数据库连接
在驱动程序注册到 DriverManager 后,您可以通过调用 DriverManager.getConnection() 获取连接到特定数据库的 Connection 实例
Connection connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/JDBCDemo", "root", "password");
建立连接后,它可用于创建 Statement 和 PreparedStatement 对象,以及检索有关数据库的元数据。
3) 关闭数据库连接
这一步与打开连接一样重要。任何保持打开状态的连接都会浪费资源并导致各种异常。
try
{
if(connection != null)
connection.close();
System.out.println("Connection closed !!");
} catch (SQLException e) {
e.printStackTrace();
}
完整的 JDBC 连接示例
让我们在下面的示例中查看整个过程:
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 !!
原创文章,作者:jamestackk,如若转载,请注明出处:https://blog.ytso.com/243845.html