java中mysql数据库的用法

Java中使用JDBC连接MySQL数据库,通过Statement或PreparedStatement执行SQL语句,获取ResultSet结果集,实现增删改查功能。

Java中使用MySQL数据库,首先需要导入MySQL的JDBC驱动,然后通过建立连接、创建Statement对象、执行SQL语句、处理结果集等步骤来实现对数据库的操作,以下是详细的步骤和示例代码:

1、导入MySQL的JDBC驱动

java中mysql数据库的用法

在项目的pom.xml文件中添加以下依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysqlconnectorjava</artifactId>
    <version>8.0.26</version>
</dependency>

2、建立数据库连接

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

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JdbcDemo {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
        String user = "root";
        String password = "your_password";
        try {
            Connection connection = DriverManager.getConnection(url, user, password);
            System.out.println("数据库连接成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

3、创建Statement对象

java中mysql数据库的用法

使用connection.createStatement()方法创建一个Statement对象,用于执行SQL语句。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo {
    public static void main(String[] args) {
        // ...省略建立数据库连接的代码...
        try {
            Connection connection = DriverManager.getConnection(url, user, password);
            Statement statement = connection.createStatement();
            System.out.println("Statement对象创建成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

4、执行SQL语句并处理结果集(查询操作)

使用statement.executeQuery()方法执行SQL查询语句,返回一个ResultSet对象,用于处理查询结果。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo {
    public static void main(String[] args) {
        // ...省略建立数据库连接和创建Statement对象的代码...
        try {
            Connection connection = DriverManager.getConnection(url, user, password);
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
            System.out.println("查询结果:");
            while (resultSet.next()) {
                System.out.println("id: " + resultSet.getInt("id") + ", name: " + resultSet.getString("name"));
            }
            resultSet.close();
            statement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

5、执行SQL语句并处理结果集(插入操作)

java中mysql数据库的用法

使用statement.executeUpdate()方法执行SQL插入语句,返回一个整数,表示受影响的行数。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class JdbcDemo {
    public static void main(String[] args) {
        // ...省略建立数据库连接和创建Statement对象的代码...
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入用户名:");
        String name = scanner.nextLine();
        System.out.println("请输入年龄:");
        int age = scanner.nextInt();
        scanner.close();
        try {
            Connection connection = DriverManager.getConnection(url, user, password);
            String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
            PreparedStatement preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1, name);
            preparedStatement.setInt(2, age);
            int rowsAffected = preparedStatement.executeUpdate();
            if (rowsAffected > 0) {
                System.out.println("插入成功");
            } else {
                System.out.println("插入失败");
            }
            preparedStatement.close();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally { // 关闭资源,避免内存泄漏问题,建议使用trywithresources语句块代替finally块关闭资源。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/649757.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-23 17:22
下一篇 2024-05-23 17:28

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入