当前位置: 代码网 > it编程>编程语言>Java > Java连接MySQL数据库并实现数据交互功能

Java连接MySQL数据库并实现数据交互功能

2024年10月25日 Java 我要评论
一、环境准备1.1 安装 mysql首先,确保你已经安装了 mysql 数据库。可以通过 mysql 官网 下载并安装适合你操作系统的版本。1.2 创建数据库和表在安装完成后,登录 mysql 命令行

一、环境准备

1.1 安装 mysql

首先,确保你已经安装了 mysql 数据库。可以通过 mysql 官网 下载并安装适合你操作系统的版本。

1.2 创建数据库和表

在安装完成后,登录 mysql 命令行工具,创建一个名为 test_db 的数据库,并在其中创建一个名为 users 的表:

create database test_db;

use test_db;

create table users (
    id int auto_increment primary key,
    username varchar(50) not null,
    password varchar(50) not null
);

1.3 添加 mysql connector/j 依赖

在 java 项目中,你需要添加 mysql connector/j 作为依赖。如果你使用 maven,可以在 pom.xml 中添加如下依赖:

<dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
    <version>8.0.32</version> <!-- 请根据最新版本更新 -->
</dependency>

二、java 代码实现

2.1 创建数据库连接

接下来,在 java 代码中实现与 mysql 数据库的连接。以下是一个简单的连接示例:

package com.example.demo;

import java.sql.connection;
import java.sql.drivermanager;
import java.sql.sqlexception;

public class mysqlconnection {

    private static final string url = "jdbc:mysql://localhost:3306/test_db"; // 数据库地址
    private static final string user = "root"; // 数据库用户名
    private static final string password = "your_password"; // 数据库密码

    public static connection getconnection() {
        connection connection = null;
        try {
            // 加载 jdbc 驱动
            class.forname("com.mysql.cj.jdbc.driver");
            // 获取数据库连接
            connection = drivermanager.getconnection(url, user, password);
            system.out.println("数据库连接成功!");
        } catch (classnotfoundexception e) {
            system.out.println("找不到 jdbc 驱动!" + e.getmessage());
        } catch (sqlexception e) {
            system.out.println("数据库连接失败!" + e.getmessage());
        }
        return connection;
    }
}

2.2 插入数据

接下来,我们编写一个方法来插入用户数据到 users 表中:

import java.sql.connection;
import java.sql.preparedstatement;
import java.sql.sqlexception;

public class userdao {

    public void adduser(string username, string password) {
        string sql = "insert into users (username, password) values (?, ?)";
        
        try (connection connection = mysqlconnection.getconnection();
             preparedstatement preparedstatement = connection.preparestatement(sql)) {
            preparedstatement.setstring(1, username);
            preparedstatement.setstring(2, password);
            int rowsaffected = preparedstatement.executeupdate();
            system.out.println("成功插入 " + rowsaffected + " 行数据。");
        } catch (sqlexception e) {
            system.out.println("插入数据失败!" + e.getmessage());
        }
    }
}

2.3 查询数据

下面是一个查询用户数据的方法:

import java.sql.connection;
import java.sql.preparedstatement;
import java.sql.resultset;
import java.sql.sqlexception;

public class userdao {

    // 其他代码...

    public void getallusers() {
        string sql = "select * from users";
        
        try (connection connection = mysqlconnection.getconnection();
             preparedstatement preparedstatement = connection.preparestatement(sql);
             resultset resultset = preparedstatement.executequery()) {
             
            while (resultset.next()) {
                int id = resultset.getint("id");
                string username = resultset.getstring("username");
                string password = resultset.getstring("password");
                system.out.println("用户id: " + id + ", 用户名: " + username + ", 密码: " + password);
            }
        } catch (sqlexception e) {
            system.out.println("查询数据失败!" + e.getmessage());
        }
    }
}

2.4 更新数据

更新用户信息的方法如下:

public class userdao {

    // 其他代码...

    public void updateuserpassword(int id, string newpassword) {
        string sql = "update users set password = ? where id = ?";
        
        try (connection connection = mysqlconnection.getconnection();
             preparedstatement preparedstatement = connection.preparestatement(sql)) {
             
            preparedstatement.setstring(1, newpassword);
            preparedstatement.setint(2, id);
            int rowsaffected = preparedstatement.executeupdate();
            system.out.println("成功更新 " + rowsaffected + " 行数据。");
        } catch (sqlexception e) {
            system.out.println("更新数据失败!" + e.getmessage());
        }
    }
}

2.5 删除数据

删除用户数据的方法如下:

public class userdao {

    // 其他代码...

    public void deleteuser(int id) {
        string sql = "delete from users where id = ?";
        
        try (connection connection = mysqlconnection.getconnection();
             preparedstatement preparedstatement = connection.preparestatement(sql)) {
             
            preparedstatement.setint(1, id);
            int rowsaffected = preparedstatement.executeupdate();
            system.out.println("成功删除 " + rowsaffected + " 行数据。");
        } catch (sqlexception e) {
            system.out.println("删除数据失败!" + e.getmessage());
        }
    }
}

三、测试代码

在主程序中测试上述功能,创建 main 类并添加如下代码:

public class main {
    public static void main(string[] args) {
        userdao userdao = new userdao();

        // 插入用户
        userdao.adduser("john_doe", "password123");
        
        // 查询用户
        userdao.getallusers();
        
        // 更新用户密码
        userdao.updateuserpassword(1, "new_password");
        
        // 查询用户
        userdao.getallusers();
        
        // 删除用户
        userdao.deleteuser(1);
        
        // 查询用户
        userdao.getallusers();
    }
}

四、总结

通过本文的介绍,你已经学会了如何在 java 中连接 mysql 数据库并实现数据交互。主要内容包括:

  • 数据库连接:使用 jdbc 连接 mysql 数据库。
  • 数据操作:实现插入、查询、更新和删除(crud)操作。
  • 最佳实践:使用 preparedstatement 避免 sql 注入。

在实际应用中,建议使用连接池(如 hikaricp 或 dbcp)来提高性能和资源利用率。同时,可以考虑使用 orm 框架(如 hibernate 或 mybatis)来简化数据库操作,提高开发效率。希望本文能帮助你快速上手 java 与 mysql 的数据交互!

以上就是java连接mysql数据库并实现数据交互功能的详细内容,更多关于java连接mysql数据交互的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com