Java如何创建与数据库的连接?
这篇文章是关于获得与MySQL数据库的连接的示例。要连接到其他数据库,您要做的就是更改url以使其与特定数据库的url格式匹配,当然,您必须为正在使用的数据库注册正确的JDBC驱动程序。
步骤如下:
定义数据库的JDBCURL。以下是MySQL数据库的JDBCURL格式。localhost是您的数据库地址,nhooo也是数据库名称。
private static final String URL = "jdbc:mysql://localhost/nhooo";
定义连接的用户名和密码。
private static final String USERNAME = "root"; private static final String PASSWORD = "";
注册我们程序要使用的数据库JDBC驱动程序。下面是MySQL数据库的驱动程序。
Class.forName("com.mysql.cj.jdbc.Driver");但是,对于现代JDBC驱动程序(JDBC4.0/自JDK6起),不再需要上述驱动程序注册步骤。JDBC驱动程序类将使用服务提供者机制定位。因此,您可以删除Class.forName()上面的语句,所有您需要做的就是将JDBC驱动程序放在类路径中,该驱动程序将自动加载。
我们可以打开与数据库的连接。
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
执行任何数据库操作,例如选择,插入,更新和删除。
最后不要忘记关闭Connection对象。我们通常在代码块的最后一个代码块中执行此try-catch操作
if (connection != null) {
connection.close();
}但是在下面的代码片段中,我们使用try-with-resource语句代替手动关闭连接对象,该语句将自动为我们关闭连接。
这是完整的代码片段。
package org.nhooo.example.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class ConnectionSample {
private static final String URL = "jdbc:mysql://localhost/nhooo";
private static final String USERNAME = "root";
private static final String PASSWORD = "";
public static void main(String[] args) throws Exception {
try (Connection connection =
DriverManager.getConnection(URL, USERNAME, PASSWORD)) {
System.out.println("connection = " + connection);
String sql = "SELECT isbn, title, published_year FROM books";
PreparedStatement stmt = connection.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getLong("isbn") + ", " +
rs.getString("title") + ", " +
rs.getInt("published_year"));
}
}
}
}Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>