diff --git a/src/main/java/com/example/springdemo/dao/UsersRepository.java b/src/main/java/com/example/springdemo/dao/UsersRepository.java index 7923b22..8ce0b42 100644 --- a/src/main/java/com/example/springdemo/dao/UsersRepository.java +++ b/src/main/java/com/example/springdemo/dao/UsersRepository.java @@ -1,11 +1,33 @@ package com.example.springdemo.dao; import com.example.springdemo.entities.Users; +import com.example.springdemo.entities.password.UsersPassword; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; @Repository public interface UsersRepository extends JpaRepository { Users findByName(String name); + + @Modifying + @Transactional + void deleteByName(String name); + + //添加新用户时创建密码 + void addPassword(UsersPassword usersPassword); + + @Modifying + @Transactional + @Query("update UsersPassword UsersPwd set UsersPwd.password = ?1 where UsersPwd.users.id = ?2") + void updatePassword(String password, Long userID); + + //删除账户时删除密码 + @Modifying + @Transactional + @Query("delete from UsersPassword UsersPwd where UsersPwd.users.id = ?1") + void deletePasswordById(Long userID); } diff --git a/src/main/java/com/example/springdemo/entities/Users.java b/src/main/java/com/example/springdemo/entities/Users.java index 9ccee77..6849d6b 100644 --- a/src/main/java/com/example/springdemo/entities/Users.java +++ b/src/main/java/com/example/springdemo/entities/Users.java @@ -18,7 +18,7 @@ import java.util.List; public class Users { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer id;//主键,用户ID + private Long id;//主键,用户ID private String name;//用户姓名 private String sex;//用户性别 @Column(name = "phoneNumber") diff --git a/src/main/java/com/example/springdemo/service/UsersService.java b/src/main/java/com/example/springdemo/service/UsersService.java index c8155bf..1117e72 100644 --- a/src/main/java/com/example/springdemo/service/UsersService.java +++ b/src/main/java/com/example/springdemo/service/UsersService.java @@ -1,6 +1,7 @@ package com.example.springdemo.service; import com.example.springdemo.entities.Users; +import com.example.springdemo.entities.password.UsersPassword; import java.util.Optional; @@ -8,13 +9,21 @@ public interface UsersService { Users addUsers(Users user); - void deleteUsersById(Long id); + void deleteUsersById(Long userID); + + void deleteUsersByName(String name); Users updateUsers(Users user); Iterable findAllUsers(); - Optional findById(Long id); + Optional findById(Long userID); Users findByName(String name); + + void addPassword(UsersPassword usersPassword); + + void updatePassword(String password, Long userID); + + void deletePasswordById(Long userID); } diff --git a/src/main/java/com/example/springdemo/service/UsersServiceImpl.java b/src/main/java/com/example/springdemo/service/UsersServiceImpl.java index 7faa640..7340b3f 100644 --- a/src/main/java/com/example/springdemo/service/UsersServiceImpl.java +++ b/src/main/java/com/example/springdemo/service/UsersServiceImpl.java @@ -2,6 +2,7 @@ package com.example.springdemo.service; import com.example.springdemo.dao.UsersRepository; import com.example.springdemo.entities.Users; +import com.example.springdemo.entities.password.UsersPassword; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; @@ -18,8 +19,14 @@ public class UsersServiceImpl implements UsersService { } @Override - public void deleteUsersById(Long id) { - usersRepository.deleteById(id); + public void deleteUsersById(Long userID) { + usersRepository.deleteById(userID); + this.deletePasswordById(userID); + } + + @Override + public void deleteUsersByName(String name) { + usersRepository.deleteByName(name); } @Override @@ -33,12 +40,27 @@ public class UsersServiceImpl implements UsersService { } @Override - public Optional findById(Long id) { - return usersRepository.findById(id); + public Optional findById(Long userID) { + return usersRepository.findById(userID); } @Override public Users findByName(String name) { return usersRepository.findByName(name); } + + @Override + public void addPassword(UsersPassword usersPassword) { + usersRepository.addPassword(usersPassword); + } + + @Override + public void updatePassword(String password, Long userID) { + usersRepository.updatePassword(password, userID); + } + + @Override + public void deletePasswordById(Long userID) { + usersRepository.deletePasswordById(userID); + } }