From 66f5112a747ba7880757f9bd085023c21bbdc77c Mon Sep 17 00:00:00 2001 From: user Date: Fri, 2 Oct 2026 15:17:50 +0400 Subject: [PATCH] feat(user-service): implement user service and update build commands --- second-part/hw-03/user-service/Makefile | 7 +++-- .../src/main/java/com/example/Main.java | 30 +++++++++---------- .../src/main/java/com/example/UserDao.java | 8 +++-- .../main/java/com/example/UserService.java | 30 +++++++++++++++++++ 4 files changed, 56 insertions(+), 19 deletions(-) create mode 100644 second-part/hw-03/user-service/src/main/java/com/example/UserService.java diff --git a/second-part/hw-03/user-service/Makefile b/second-part/hw-03/user-service/Makefile index bcc8557..da71a1f 100644 --- a/second-part/hw-03/user-service/Makefile +++ b/second-part/hw-03/user-service/Makefile @@ -1,4 +1,4 @@ -.PHONY: up down build run +.PHONY: up down build test run up: docker compose up -d @@ -7,7 +7,10 @@ down: docker compose down build: - mvn clean package + mvn clean package -DskipTests + +test: + mvn test run: mvn exec:java diff --git a/second-part/hw-03/user-service/src/main/java/com/example/Main.java b/second-part/hw-03/user-service/src/main/java/com/example/Main.java index d38b1c7..ebe14a9 100644 --- a/second-part/hw-03/user-service/src/main/java/com/example/Main.java +++ b/second-part/hw-03/user-service/src/main/java/com/example/Main.java @@ -5,7 +5,7 @@ import java.util.Scanner; public class Main { public static void main(String[] args) { - UserDao userDao = new UserDao(); + UserService userService = new UserService(new UserDao()); Scanner scanner = new Scanner(System.in); try { @@ -18,10 +18,10 @@ public class Main { try { switch (choice) { - case "1" -> createUser(userDao, scanner); - case "2" -> findUser(userDao, scanner); - case "3" -> updateUser(userDao, scanner); - case "4" -> deleteUser(userDao, scanner); + case "1" -> createUser(userService, scanner); + case "2" -> findUser(userService, scanner); + case "3" -> updateUser(userService, scanner); + case "4" -> deleteUser(userService, scanner); case "0" -> { return; } @@ -35,7 +35,7 @@ public class Main { } } finally { scanner.close(); - userDao.close(); + userService.close(); } } @@ -48,7 +48,7 @@ public class Main { System.out.print("Выберите действие: "); } - private static void createUser(UserDao userDao, Scanner scanner) { + private static void createUser(UserService userService, Scanner scanner) { User user = new User(); System.out.print("Имя: "); @@ -60,16 +60,16 @@ public class Main { System.out.print("Возраст: "); user.setAge(Integer.parseInt(scanner.nextLine())); - userDao.create(user); + userService.create(user); System.out.println("Пользователь создан: " + user); } - private static void findUser(UserDao userDao, Scanner scanner) { + private static void findUser(UserService userService, Scanner scanner) { System.out.print("ID пользователя: "); Long id = Long.parseLong(scanner.nextLine()); - User user = userDao.findById(id); + User user = userService.findById(id); if (user != null) { System.out.println(user); @@ -78,11 +78,11 @@ public class Main { } } - private static void updateUser(UserDao userDao, Scanner scanner) { + private static void updateUser(UserService userService, Scanner scanner) { System.out.print("ID пользователя: "); Long id = Long.parseLong(scanner.nextLine()); - User user = userDao.findById(id); + User user = userService.findById(id); if (user == null) { System.out.println("Пользователь не найден."); @@ -98,16 +98,16 @@ public class Main { System.out.print("Новый возраст: "); user.setAge(Integer.parseInt(scanner.nextLine())); - userDao.update(user); + userService.update(user); System.out.println("Пользователь обновлён."); } - private static void deleteUser(UserDao userDao, Scanner scanner) { + private static void deleteUser(UserService userService, Scanner scanner) { System.out.print("ID пользователя: "); Long id = Long.parseLong(scanner.nextLine()); - userDao.deleteById(id); + userService.deleteById(id); System.out.println("Пользователь удалён."); } diff --git a/second-part/hw-03/user-service/src/main/java/com/example/UserDao.java b/second-part/hw-03/user-service/src/main/java/com/example/UserDao.java index c50165d..3dfb76b 100644 --- a/second-part/hw-03/user-service/src/main/java/com/example/UserDao.java +++ b/second-part/hw-03/user-service/src/main/java/com/example/UserDao.java @@ -11,8 +11,12 @@ public class UserDao { private final SessionFactory sessionFactory; public UserDao() { - sessionFactory = - new Configuration().configure().addAnnotatedClass(User.class).buildSessionFactory(); + this( + new Configuration().configure().addAnnotatedClass(User.class).buildSessionFactory()); + } + + public UserDao(SessionFactory sessionFactory) { + this.sessionFactory = sessionFactory; } public User create(User user) { diff --git a/second-part/hw-03/user-service/src/main/java/com/example/UserService.java b/second-part/hw-03/user-service/src/main/java/com/example/UserService.java new file mode 100644 index 0000000..e9a6eec --- /dev/null +++ b/second-part/hw-03/user-service/src/main/java/com/example/UserService.java @@ -0,0 +1,30 @@ +package com.example; + +public class UserService { + + private final UserDao userDao; + + public UserService(UserDao userDao) { + this.userDao = userDao; + } + + public User create(User user) { + return userDao.create(user); + } + + public User findById(Long id) { + return userDao.findById(id); + } + + public User update(User user) { + return userDao.update(user); + } + + public void deleteById(Long id) { + userDao.deleteById(id); + } + + public void close() { + userDao.close(); + } +}