본문 바로가기

Spring실습

안드로이드 스튜디오와 스프링부트를 이용해서 마리아DB에서 모든 DB 읽기

반응형

지금 side project에서 analog input pin 공간이 부족한 이슈로 멘탈이 살짝 나가있다.

 

그래도 오늘의 할 일을 마무리하고자 한다.

 

오늘의 정확한 주제는

저번 시간에 진행했던 것에 이어서

https://pinlib.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4%EC%99%80-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8%EB%A5%BC-%EC%97%B0%EB%8F%99%ED%95%B4%EC%84%9C-%EB%A7%88%EB%A6%AC%EC%95%84DB%EC%97%90-%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0

 

안드로이드 스튜디오와 스프링부트를 연동해서 마리아DB에 저장하기

드디어 오류를 고쳤다. 그래서 그동안 쌓아 놓은 예제들을 하나씩 풀 생각이다. 내가 우선 구현한 것은 안드로이드에서 회원가입을 하면 DB에 개인정보가 저장되는 것을 구현했다. 하지만 category

pinlib.tistory.com

USER들이 회원가입을 하면서 DB에 개인정보를 저장했다면

jpa에서 기본적으로 제공하는 모든 user의 개인정보를 가져오는 code를 작성해보겠다.

 

 

android part의 경우 전과 같이 간단하게 UserAPI.kt만 소개하겠다.

@GET("admin/user/findAll") //db -> client
fun adminUserFindAll(): Call<List<UserModel>>

 

지금부터는 spring boot code를 소개하겠다. (전과 같이 interface part는 생략하겠다.)

 

1. UserController.java

@GetMapping("admin/user/findAll")
public List<UserDTO> getAdminAllUser(){
    return userService.getAdminAllUser();
}

http protocol을 받아 필요한 service의 function을 사용한다.

 

2. UserServiceImpl.java

@Override
public List<UserDTO> getAdminAllUser(){
    //List<User> entities = userRepository.findAll();
    List<User> entities = userDataHandler.adminAllUser();
    List<UserDTO> dtos =new ArrayList<>();

    for(User entity : entities){
        UserDTO userDTO = new UserDTO();
        userDTO.setUserId(entity.getUserId());
        userDTO.setUserPassword(entity.getUserPassword());
        userDTO.setUserName(entity.getUserName());
        userDTO.setUserEmail(entity.getUserEmail());
        userDTO.setUserAge(entity.getUserAge());
        dtos.add(userDTO);
    }
    return dtos;
}

controller와 service는 vo로 dto를 사용하지만 service가 추후에 연락? 할 곳은 실질적으로는 DAO이고 이는 entity를 사용하므로 dto를 entity로 전환하기 위한 사전준비와 통신을 위한 실질적인 세팅을 하는 것이 주된 목적이라고 볼 수 있다.

 

3. UserDataHandlerImpl.java

public  List<User> adminAllUser(){
    return userDAO.adminAllUser();
}

 

4. UserDAOImpl.java

public List<User> adminAllUser(){
    List<User> user = userRepository.findAll();
    return user; 
}

jpa에서 기본적으로 findAll method를 제공하므로 repository에서 따로 구현할 필요는 없다.

 

결과

이렇게 마무리하겠다.

반응형