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>