diff --git a/src/main/java/com/example/livecodingjavaspring/User.java b/src/main/java/com/example/livecodingjavaspring/User.java index 630fccd9b011b0b96cb907de562f436a41694883..cc9fa8b0a57f391389d089d41a8ff83cb97829f3 100644 --- a/src/main/java/com/example/livecodingjavaspring/User.java +++ b/src/main/java/com/example/livecodingjavaspring/User.java @@ -3,9 +3,12 @@ package com.example.livecodingjavaspring; import lombok.Builder; import lombok.Data; +import java.util.Random; + @Data @Builder public class User { + private final int id = new Random().nextInt(1000); private String firstName; private String lastName; private Integer age; diff --git a/src/main/java/com/example/livecodingjavaspring/UserDao.java b/src/main/java/com/example/livecodingjavaspring/UserDao.java index 599d882d45a73894d231cdb2499a82e7174ef515..8c085e71e6f921af03bbc4543bf3991d1a6b8da6 100644 --- a/src/main/java/com/example/livecodingjavaspring/UserDao.java +++ b/src/main/java/com/example/livecodingjavaspring/UserDao.java @@ -9,6 +9,8 @@ import java.util.List; @Service public class UserDao { private static final String FETCH_ALL_USERS_QUERY = "SELECT * FROM users"; + private static final String ADD_USER_QUERY = "INSERT INTO users (id, first_name, last_name, age) VALUES (?, ?, ?, ?)"; + public List<User> getUsers() { List<User> users = new ArrayList<>(); @@ -30,8 +32,17 @@ public class UserDao { } - public List<User> addUser(List<User> users, User user) { - users.add(user); - return users; + public int addUser(User user) { + try (Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost/db-name", "user", "pwd"); + PreparedStatement preparedStatement = connection.prepareStatement(ADD_USER_QUERY)) { + preparedStatement.setInt(1, user.getId()); + preparedStatement.setString(2, user.getFirstName()); + preparedStatement.setString(3, user.getLastName()); + preparedStatement.setInt(4, user.getAge()); + return preparedStatement.executeUpdate(); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } } diff --git a/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java b/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java index 5476ebd4383e1adedd549a1915dfa8f85a9708f4..e528c9f7958360173e5aca551751cb5e9cdf92ca 100644 --- a/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java +++ b/src/main/java/com/example/livecodingjavaspring/UserLibraryController.java @@ -22,8 +22,8 @@ public class UserLibraryController { @PostMapping("") public List<User> addUser(@RequestBody User user) { - List<User> users= userDao.getUsers(); - return userDao.addUser(users, user); + userDao.addUser(user); + return userDao.getUsers(); } }