java连接mysql数据库


在Java中连接MySQL数据库通常涉及到使用JDBC(Java Database Connectivity)驱动程序。以下是一种常见的方式,使用的是MySQL官方提供的JDBC驱动(也称为Connector/J)。以下是基本步骤和示例代码:

1. 添加JDBC驱动依赖

首先,你需要将MySQL JDBC驱动添加到你的项目中。如果你使用Maven或Gradle作为构建工具,你可以在pom.xmlbuild.gradle文件中添加相应的依赖项。

对于Maven,你的pom.xml应该包含如下依赖:

1<dependency>
2    <groupId>mysql</groupId>
3    <artifactId>mysql-connector-java</artifactId>
4    <version>8.0.31</version>
5</dependency>

对于Gradle,你的build.gradle应该包含如下依赖:

1implementation 'mysql:mysql-connector-java:8.0.31'

2. 加载JDBC驱动

在早期版本的Java中,你需要显式地加载JDBC驱动。但在Java 9及更高版本中,这一步骤通常是不必要的,因为驱动程序会自动加载。然而,为了兼容性,这里还是给出加载驱动的代码:

1Class.forName("com.mysql.cj.jdbc.Driver");

3. 建立数据库连接

接下来,使用DriverManager.getConnection()方法建立一个数据库连接。你需要提供数据库URL、用户名和密码。

1String url = "jdbc:mysql://localhost:3306/your_database";
2String user = "your_username";
3String password = "your_password";
4
5Connection conn = DriverManager.getConnection(url, user, password);

4. 执行SQL语句

一旦建立了连接,你可以使用StatementPreparedStatement对象执行SQL语句。

使用 Statement:
1Statement stmt = conn.createStatement();
2String sql = "SELECT * FROM your_table";
3ResultSet rs = stmt.executeQuery(sql);
4
5while (rs.next()) {
6    System.out.println(rs.getString("column_name"));
7}
8
9rs.close();
10stmt.close();
使用 PreparedStatement:
1String sql = "INSERT INTO your_table (column1, column2) VALUES (?, ?)";
2PreparedStatement pstmt = conn.prepareStatement(sql);
3pstmt.setString(1, "value1");
4pstmt.setInt(2, 2);
5pstmt.executeUpdate();
6
7pstmt.close();

5. 关闭资源

最后,确保关闭所有打开的资源,以避免内存泄漏。

1conn.close();

完整示例

将上述片段组合在一起,你可能得到如下代码:

1import java.sql.Connection;
2import java.sql.DriverManager;
3import java.sql.Statement;
4import java.sql.ResultSet;
5
6public class MySQLJDBCExample {
7    public static void main(String[] args) {
8        String url = "jdbc:mysql://localhost:3306/your_database";
9        String user = "your_username";
10        String password = "your_password";
11
12        try {
13            Connection conn = DriverManager.getConnection(url, user, password);
14            Statement stmt = conn.createStatement();
15            ResultSet rs = stmt.executeQuery("SELECT * FROM your_table");
16
17            while (rs.next()) {
18                System.out.println(rs.getString("column_name"));
19            }
20
21            rs.close();
22            stmt.close();
23            conn.close();
24        } catch (Exception e) {
25            e.printStackTrace();
26        }
27    }
28}

请替换上述代码中的your_database, your_username, your_password, your_tablecolumn_name为实际的值。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值