再结合上面代码,在xjdz包里,创建一个Account类,用来存储链接mysql数据库,用来实现登录注册功能,库名为oqcwxjdz,user表,有那么,和password两列
时间: 2024-03-13 15:48:03 浏览: 20
下面是一个简单的 Account 类示例,用于在 Java 中连接 MySQL 数据库并实现登录注册功能。该类使用了 JDBC 来连接 MySQL 数据库,并提供了登录和注册方法,以及数据查询和更新方法。
```java
package xjdz;
import java.sql.*;
public class Account {
private Connection connection;
private String url;
private String username;
private String password;
public Account(String url, String username, String password) {
this.url = url;
this.username = username;
this.password = password;
}
/**
* 连接数据库
*/
public void connect() throws SQLException {
connection = DriverManager.getConnection(url, username, password);
}
/**
* 关闭数据库连接
*/
public void disconnect() throws SQLException {
if (connection != null) {
connection.close();
}
}
/**
* 查询用户是否存在
*/
public boolean userExists(String user) throws SQLException {
PreparedStatement statement = connection.prepareStatement("SELECT * FROM user WHERE name = ?");
statement.setString(1, user);
ResultSet resultSet = statement.executeQuery();
return resultSet.next();
}
/**
* 验证用户密码是否正确
*/
public boolean validateUser(String user, String password) throws SQLException {
PreparedStatement statement = connection.prepareStatement("SELECT * FROM user WHERE name = ? AND password = ?");
statement.setString(1, user);
statement.setString(2, password);
ResultSet resultSet = statement.executeQuery();
return resultSet.next();
}
/**
* 添加新用户
*/
public void addUser(String user, String password) throws SQLException {
PreparedStatement statement = connection.prepareStatement("INSERT INTO user(name, password) VALUES (?, ?)");
statement.setString(1, user);
statement.setString(2, password);
statement.executeUpdate();
}
}
```
在使用该类时,需要先连接数据库,然后通过调用登录、注册等方法实现相应的功能,最后关闭数据库连接。具体用法示例如下:
```java
String url = "jdbc:mysql://localhost:3306/oqcwxjdz";
String username = "root";
String password = "password";
// 创建 Account 对象并连接数据库
Account account = new Account(url, username, password);
account.connect();
// 查询用户是否存在
String user = "test";
if (account.userExists(user)) {
System.out.println("用户已存在");
} else {
System.out.println("用户不存在");
}
// 验证用户密码是否正确
String password = "123456";
if (account.validateUser(user, password)) {
System.out.println("密码正确");
} else {
System.out.println("密码错误");
}
// 添加新用户
account.addUser("newuser", "password");
// 断开数据库连接
account.disconnect();
```