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