以下是Java使用JDBC驱动连接MySQL数据库的完整攻略:
1. 下载JDBC驱动
首先,我们需要下载合适的JDBC驱动程序。可以在官方网站下载最新的JDBC驱动程序。下载后将其解压缩到本地磁盘。
2. 创建MySQL数据库
我们需要在本地的MySQL数据库中创建一个数据库供使用。如果您的系统中尚未安装MySQL数据库,需要在官方网站下载并安装,安装过程中需要设置root用户密码。
连接到MySQL数据库并创建一个名为example
的数据库:
mysql -u root -p
CREATE DATABASE example;
3. 创建Java项目并添加JDBC驱动依赖
打开Eclipse或者IntelliJ IDEA,创建一个新的Java项目。将下载的JDBC驱动程序复制到项目的lib
目录下。在项目的build.gradle
或者pom.xml
文件中加入JDBC驱动的依赖配置。
Gradle配置示例:
dependencies {
implementation files('lib/mysql-connector-java-8.0.25.jar')
}
Maven配置示例:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
4. 编写Java代码连接MySQL数据库
下面是一个简单的Java程序示例,演示如何使用JDBC驱动连接MySQL数据库,并向其中插入一条数据:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Main {
public static void main(String[] args) throws Exception {
// 加载JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取数据库连接
String url = "jdbc:mysql://localhost:3306/example?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=false";
String username = "root";
String password = "password";
Connection conn = DriverManager.getConnection(url, username, password);
// 执行插入操作
String sql = "INSERT INTO users(name, age) VALUES(?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "张三");
pstmt.setInt(2, 20);
pstmt.executeUpdate();
// 关闭数据库连接
pstmt.close();
conn.close();
}
}
在上面的代码中,我们首先使用Class.forName
方法加载MySQL的JDBC驱动程序,然后根据连接字符串、用户名和密码获取数据库连接。最后,我们在数据库中插入了一条数据,然后分别关闭了PreparedStatement和Connection对象。
5. 示例2:通过JDBC查询MySQL数据库
下面是一个简单的Java程序示例,演示如何使用JDBC查询MySQL数据库中的数据:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
// 加载JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取数据库连接
String url = "jdbc:mysql://localhost:3306/example?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&allowMultiQueries=true&useSSL=false";
String username = "root";
String password = "password";
Connection conn = DriverManager.getConnection(url, username, password);
// 执行查询操作
String sql = "SELECT * FROM users WHERE age > ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 18);
ResultSet rs = pstmt.executeQuery();
// 处理查询结果
List<Map<String, Object>> results = new ArrayList<>();
while (rs.next()) {
Map<String, Object> row = new HashMap<>();
row.put("id", rs.getInt("id"));
row.put("name", rs.getString("name"));
row.put("age", rs.getInt("age"));
results.add(row);
}
// 输出查询结果
System.out.println(results);
// 关闭数据库连接
rs.close();
pstmt.close();
conn.close();
}
}
在上面的代码中,我们首先使用Class.forName
方法加载MySQL的JDBC驱动程序,然后根据连接字符串、用户名和密码获取数据库连接。接着,我们使用PreparedStatement生成带参数的查询SQL,使用executeQuery
方法执行查询操作,并遍历ResultSet对象获取查询结果。
最后,我们将查询结果打印出来,然后分别关闭了ResultSet、PreparedStatement和Connection对象。
欢迎试用以上攻略,祝您成功!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用JDBC驱动连接MySQL数据库 - Python技术站