diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DataManagerSystem.iml b/DataManagerSystem.iml
index c90834f..d2ae8bf 100644
--- a/DataManagerSystem.iml
+++ b/DataManagerSystem.iml
@@ -7,5 +7,6 @@
+
\ No newline at end of file
diff --git a/src/backend/Main.java b/src/backend/Main.java
index b1fbec1..dd7b22c 100644
--- a/src/backend/Main.java
+++ b/src/backend/Main.java
@@ -1,4 +1,5 @@
package backend;
public class Main {
+
}
diff --git a/src/backend/controller/interfaces/LoginController.java b/src/backend/controller/interfaces/LoginController.java
index 4b51b11..7cbe6cd 100644
--- a/src/backend/controller/interfaces/LoginController.java
+++ b/src/backend/controller/interfaces/LoginController.java
@@ -5,7 +5,7 @@ import backend.service.interfaces.AuthService;
* 登录控制器接口,用于处理用户登录和注册相关的业务逻辑
*/
public interface LoginController {
- AuthService authService;
+// AuthService authService;
//getter/setter
diff --git a/src/backend/controller/interfaces/QueryController.java b/src/backend/controller/interfaces/QueryController.java
index 2e14def..2f11a49 100644
--- a/src/backend/controller/interfaces/QueryController.java
+++ b/src/backend/controller/interfaces/QueryController.java
@@ -6,7 +6,7 @@ import backend.service.interfaces.DataQueryService;
* 定义了数据查询和管理的相关操作接口
*/
public interface QueryController {
- DataQueryService dataService;
+// DataQueryService dataService;
//getter/setter
/**
diff --git a/src/backend/controller/interfaces/UserController.java b/src/backend/controller/interfaces/UserController.java
index 674e186..58c7395 100644
--- a/src/backend/controller/interfaces/UserController.java
+++ b/src/backend/controller/interfaces/UserController.java
@@ -6,7 +6,7 @@ import backend.service.interfaces.UserService;
* 定义了用户管理相关的核心操作方法
*/
public interface UserController {
- UserService userService;
+// UserService userService;
//getter/setter
diff --git a/src/backend/dao/impl/UserDao.java b/src/backend/dao/impl/UserDao.java
new file mode 100644
index 0000000..701ca8f
--- /dev/null
+++ b/src/backend/dao/impl/UserDao.java
@@ -0,0 +1,137 @@
+package backend.dao.impl;
+
+import backend.dao.interfaces.UserDaoIF;
+import backend.model.User;
+import backend.utils.DBHelper;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.List;
+
+public class UserDao implements UserDaoIF {
+
+ @Override
+ public User findByUsername(String username) {
+ User user = null;
+ //1. 从连接池中创建数据库连接
+ Connection conn = DBHelper.getInstance().getConnection();
+ //2. 创建Statement对象
+ String sql = "select username,password,role,email,createdAt from USER where username = ?";
+ try {
+ PreparedStatement stmt = conn.prepareStatement(sql);
+ stmt.setString(1, username);
+ ResultSet rs = stmt.executeQuery();
+ while (rs.next()) {
+ user = new User();
+ user.setUsername(rs.getString("username"));
+ user.setPassword(rs.getString("password"));
+ user.setRole(rs.getString("role"));
+ user.setEmail(rs.getString("email"));
+ user.setCreatedAt(rs.getTimestamp("createdAt"));
+ }
+ } catch (SQLException e) {
+ System.out.println("查询用户失败: " + e.getMessage());
+ }
+ return user;
+ }
+ @Override
+ public User findById(int id) {
+ User user = null;
+ //1. 从连接池中创建数据库连接
+ Connection conn = DBHelper.getInstance().getConnection();
+ //2. 创建Statement对象
+ String sql = "select username,password,role,email,createdAt from USER where id = ?";
+ try{
+ PreparedStatement stmt = conn.prepareStatement(sql);
+ stmt.setInt(1,id);
+ ResultSet rs = stmt.executeQuery();
+ while(rs.next()) {
+ user = new User();
+ user.setUsername(rs.getString("username"));
+ user.setPassword(rs.getString("password"));
+ user.setRole(rs.getString("role"));
+ user.setEmail(rs.getString("email"));
+ user.setCreatedAt(rs.getTimestamp("createdAt"));
+ }
+ }catch (SQLException e) {
+ System.out.println("查询用户失败: " + e.getMessage());
+ }
+ return user;
+ }
+
+ @Override
+ public boolean addUser(User user) {
+ Connection conn = DBHelper.getInstance().getConnection();
+ String sql = "insert into USER (username,password,role,email,createdAt) values (?,?,?,?,?)";
+ try{
+ PreparedStatement stmt = conn.prepareStatement(sql);
+ stmt.setString(1,user.getUsername());
+ stmt.setString(2,user.getPassword());
+ stmt.setString(3,user.getRole());
+ stmt.setString(4,user.getEmail());
+ stmt.setTimestamp(5,user.getCreatedAt());
+ return stmt.executeUpdate() > 0;
+ } catch (SQLException e) {
+ System.out.println("添加用户失败: " + e.getMessage());
+ }
+ return false;
+ }
+
+ @Override
+ public boolean updateUser(User user) {
+ Connection conn = DBHelper.getInstance().getConnection();
+ String sql = "update USER set username = ?,password = ?,role = ?,email = ?,createdAt = ? where id = ?";
+ try{
+ PreparedStatement stmt = conn.prepareStatement(sql);
+ stmt.setString(1,user.getUsername());
+ stmt.setString(2,user.getPassword());
+ stmt.setString(3,user.getRole());
+ stmt.setString(4,user.getEmail());
+ stmt.setTimestamp(5,user.getCreatedAt());
+ stmt.setInt(6,user.getId());
+ return stmt.executeUpdate() > 0;
+ } catch (SQLException e) {
+ System.out.println("更新用户失败: " + e.getMessage());
+ }
+ return false;
+ }
+
+ @Override
+ public boolean deleteUser(int id) {
+ Connection conn = DBHelper.getInstance().getConnection();
+ String sql = "delete from USER where id = ?";
+ try{
+ PreparedStatement stmt = conn.prepareStatement(sql);
+ stmt.setInt(1,id);
+ return stmt.executeUpdate() > 0;
+ } catch (SQLException e) {
+ System.out.println("删除用户失败: " + e.getMessage());
+ }
+ return false;
+ }
+
+ @Override
+ public List findAll() {
+ Connection conn = DBHelper.getInstance().getConnection();
+ String sql = "select id,username,password,role,email,createdAt from USER";
+ try {
+ PreparedStatement stmt = conn.prepareStatement(sql);
+ ResultSet rs = stmt.executeQuery();
+ while (rs.next()) {
+ User user = new User();
+ user.setId(rs.getInt("id"));
+ user.setUsername(rs.getString("username"));
+ user.setPassword(rs.getString("password"));
+ user.setRole(rs.getString("role"));
+ user.setEmail(rs.getString("email"));
+ user.setCreatedAt(rs.getTimestamp("createdAt"));
+ return List.of(user);
+ }
+ }catch (SQLException e) {
+ System.out.println("查询所有用户失败: " + e.getMessage());
+ }
+ return List.of();
+ }
+}
diff --git a/src/backend/dao/interfaces/UserDao.java b/src/backend/dao/interfaces/UserDaoIF.java
similarity index 97%
rename from src/backend/dao/interfaces/UserDao.java
rename to src/backend/dao/interfaces/UserDaoIF.java
index f9a85d5..6b32412 100644
--- a/src/backend/dao/interfaces/UserDao.java
+++ b/src/backend/dao/interfaces/UserDaoIF.java
@@ -7,7 +7,7 @@ import java.util.*;
* 用户数据访问接口
* 定义了用户相关的数据库操作方法
*/
-public interface UserDao {
+public interface UserDaoIF {
/**
* 根据用户名查找用户
* @param username 用户名
diff --git a/src/backend/model/User.java b/src/backend/model/User.java
index aa25176..dea24df 100644
--- a/src/backend/model/User.java
+++ b/src/backend/model/User.java
@@ -91,7 +91,7 @@ public class User {
*
* @param createdAt 用户创建时间
*/
- public void setCreatedAt(Date createdAt) {
+ public void setCreatedAt(Timestamp createdAt) {
this.createdAt = createdAt;
}
@@ -145,7 +145,7 @@ public class User {
*
* @return 用户创建时间
*/
- public Date getCreatedAt() {
+ public Timestamp getCreatedAt() {
return createdAt;
}
}
diff --git a/src/backend/utils/DBHelper.java b/src/backend/utils/DBHelper.java
index c1700f7..e808f61 100644
--- a/src/backend/utils/DBHelper.java
+++ b/src/backend/utils/DBHelper.java
@@ -8,9 +8,9 @@ public class DBHelper {
/*** 以下请根据实际情况修改 ****/
private static final String IP = "kronecker.cc"; // ip地址
private static final String PORT = "3306"; // 端口
- private static final String DB_NAME = "CET4"; // 数据库名
- private static final String USER = "kronecker";
- private static final String PASSWORD = "20060825fhy.";
+ private static final String DB_NAME = "DataManagerSystem"; // 数据库名
+ private static final String USER = "group";
+ private static final String PASSWORD = "123456";
/*** 以上请根据实际情况修改 ****/
private static final String DB_URL = String.format("jdbc:mysql://%s:%s/%s", IP, PORT, DB_NAME);
// 单例模式写法之一
diff --git a/src/backend/utils/interfaces/CaptchaUtils.java b/src/backend/utils/interfaces/CaptchaUtils.java
index 240bcab..abaae81 100644
--- a/src/backend/utils/interfaces/CaptchaUtils.java
+++ b/src/backend/utils/interfaces/CaptchaUtils.java
@@ -20,14 +20,14 @@ public interface CaptchaUtils {
/**
* 私有构造函数,防止实例化
*/
- private CaptchaUtils();
+ //private CaptchaUtils();
/**
* 生成随机验证码
*
* @return 生成的验证码字符串
*/
- static String generateCaptcha();
+ //static String generateCaptcha();
/**
* 验证用户输入的验证码是否正确
@@ -36,6 +36,6 @@ public interface CaptchaUtils {
* @param systemCaptcha 系统生成的验证码
* @return 验证结果,正确返回true,错误返回false
*/
- static boolean verifyCaptcha(String inputCaptcha,String systemCaptcha);
+ //static boolean verifyCaptcha(String inputCaptcha,String systemCaptcha);
}
diff --git a/src/backend/utils/interfaces/DBUtil.java b/src/backend/utils/interfaces/DBUtil.java
deleted file mode 100644
index f6e76bc..0000000
--- a/src/backend/utils/interfaces/DBUtil.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package backend.utils.interfaces;
-import java.sql.*;
-
-/**
- * 数据库工具接口,提供数据库连接和资源关闭的通用方法
- */
-public interface DBUtil {
- /**
- * 获取数据库连接对象
- *
- * @return Connection 数据库连接对象,用于执行SQL语句
- */
- static Connection getConnection();
-
- /**
- * 关闭数据库相关资源,包括连接、语句和结果集
- *
- * @param conn 数据库连接对象,需要被关闭的连接
- * @param stmt SQL语句对象,需要被关闭的语句
- * @param rs 结果集对象,需要被关闭的结果集
- */
- static void close(Connection conn, Statement stmt, ResultSet rs);
-}
-
diff --git a/src/backend/utils/interfaces/PasswordUtil.java b/src/backend/utils/interfaces/PasswordUtil.java
index ebe5119..5f003df 100644
--- a/src/backend/utils/interfaces/PasswordUtil.java
+++ b/src/backend/utils/interfaces/PasswordUtil.java
@@ -10,7 +10,7 @@ public interface PasswordUtil {
* @param plainText 需要加密的明文密码字符串
* @return 加密后的密码字符串
*/
- static String encrypt(String plainText);
+ //static String encrypt(String plainText);
/**
* 验证明文密码与已加密密码是否匹配
@@ -19,6 +19,6 @@ public interface PasswordUtil {
* @param hashed 已加密的密码字符串
* @return 如果匹配返回true,否则返回false
*/
- static boolean verify(String plainText, String hashed);
+ //static boolean verify(String plainText, String hashed);
}
diff --git a/src/backend/utils/interfaces/RoleUtil.java b/src/backend/utils/interfaces/RoleUtil.java
index 7305022..d24f9af 100644
--- a/src/backend/utils/interfaces/RoleUtil.java
+++ b/src/backend/utils/interfaces/RoleUtil.java
@@ -9,13 +9,13 @@ public interface RoleUtil {
* @param role 待判断的角色字符串
* @return 如果是管理员角色返回true,否则返回false
*/
- static boolean isAdmin(String role);
+ //static boolean isAdmin(String role);
/**
* 判断给定的角色是否为普通用户角色
* @param role 待判断的角色字符串
* @return 如果是普通用户角色返回true,否则返回false
*/
- static boolean isUser(String role);
+ //static boolean isUser(String role);
}