一、环境准备
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数据交互的资料请关注代码网其它相关文章!
发表评论