From f099fc65384b8930da5435b0184ef0e48f39bb4a Mon Sep 17 00:00:00 2001 From: Parmis Jamami Date: Thu, 25 Jun 2026 17:16:34 +0330 Subject: [PATCH] Complete Users and UserDao --- src/main/java/dev/dao/UserDao.java | 60 +++++++++++++++++++++++++++--- src/main/java/dev/model/User.java | 31 +++++++++++++++ 2 files changed, 86 insertions(+), 5 deletions(-) diff --git a/src/main/java/dev/dao/UserDao.java b/src/main/java/dev/dao/UserDao.java index af08106..43803ba 100644 --- a/src/main/java/dev/dao/UserDao.java +++ b/src/main/java/dev/dao/UserDao.java @@ -1,21 +1,71 @@ package dev.dao; +import dev.database.DatabaseConnection; import dev.model.User; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + public class UserDao { public boolean save(User user) { - // TODO: - // Insert user into database + String sql = "INSERT INTO users (username, password, email) VALUES (?, ?, ?)"; + + try ( + Connection connection = DatabaseConnection.getConnection(); + PreparedStatement statement = connection.prepareStatement(sql) + ) { + + statement.setString(1, user.getUsername()); + statement.setString(2, user.getPassword()); + statement.setString(3, user.getEmail()); + + int rows = statement.executeUpdate(); + + return rows > 0; + + } catch (SQLException e) { + + System.out.println("Error saving user: " + e.getMessage()); + return false; + + } - return false; } public User findByUsername(String username) { - // TODO: - // Find a user by username + String sql = "SELECT id, username, password, email FROM users WHERE username = ?"; + + try ( + Connection connection = DatabaseConnection.getConnection(); + PreparedStatement statement = connection.prepareStatement(sql) + ) { + + statement.setString(1, username); + + ResultSet resultSet = statement.executeQuery(); + + if (resultSet.next()) { + + User user = new User(); + + user.setId(resultSet.getInt("id")); + user.setUsername(resultSet.getString("username")); + user.setPassword(resultSet.getString("password")); + user.setEmail(resultSet.getString("email")); + + return user; + } + + } catch (SQLException e) { + + System.out.println("Error finding user: " + e.getMessage()); + + } return null; } diff --git a/src/main/java/dev/model/User.java b/src/main/java/dev/model/User.java index 0ab60c6..afe56dc 100644 --- a/src/main/java/dev/model/User.java +++ b/src/main/java/dev/model/User.java @@ -10,4 +10,35 @@ public class User { private String email; + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } } \ No newline at end of file