JAVA16 JPA Update Query - UserService @Override @Transactional public void updateUserInfo(UserId userId, String changePhoneNum) { UserInfo findUserInfo = userInfoRepository.findByUserId(userId).get(); findUserInfo.setPhone(changePhoneNum); } 리포지토리를 통해 입력받은 UserId의 값으로 회원정보를 끌어와 영속성 컨텍스트에 저장한다. (UserId는 듀얼 메인키라서 클래스로 구분했음) Repository의 save를 호출하지 않아도 @Transactional이 있는 메서드의 영속성 컨텍스트의 값이 변경 되면 변경감지(더티채킹)으로 인해 update쿼리를 알아.. 2022. 10. 28. spring boot 웹소켓통신 메세지 ping pong. 클라이언트에서 ping을 응답하면 서버에서 pong을 응답하고 ping이 아닌 다른 문자로 요청하면 요청한 문자 그래도 응답해주는 ping pong 웹소켓 통신 연습. - 웹 소켓 서버 @SpringBootApplication public class WebSocketServerApplication { public static void main(String[] args) { Socket socket = null; //클라이언트와 통신을 위한 소켓 ServerSocket server_socket = null; // 서버생성 서버소켓 BufferedReader in = null; //클라이언트 데이터 읽기 입력스트림 PrintWriter out = null; //클라이언트에 데이터 전송 출력스트림 try { .. 2022. 10. 2. Spring Boot 회원 정보 출력 (JPA N+1 문제 해결, Ajax, Thymeleaf) - myPage.html 내 정보 아아디 : 이름 : 이메일 : 생일 : 닉네임 : 성별 : 전화번호 : 내가 속한 팀 목록 myPage.html로 이동하자마자 스크립트 부분의 ajax 부분을 통해 서버에 요청을 보낸다. (로그인 상태를 증명하기 위해 헤더에 Token을 담아서 요청을 보냄) - UserController.java /** * 회원 상세정보를 확인하는 매핑 함수 * @param principalDetails * @return */ @PostMapping("/api/v1/user/mypage") @ResponseBody public ResponseEntity userInformation(@AuthenticationPrincipal PrincipalDetails principalDetails).. 2022. 9. 21. Spring Boot 회원정보 출력 (3) 비동기 통신 Ajax 스프링 부트 서버에서 회원 정보의 값을 이런식으로 리턴하도록 설정했다. 자세히보면 team부분은 한명의 사용자가 여러 개의 팀을 가질 수 있어서 배열로 만들어서 리턴해준 것이다. 그래서 저 팀 부분을 View단의 화면에 여러개를 띄워야 한다. - myPage.html 내 정보 아아디 : 이름 : 이메일 : 생일 : 닉네임 : 성별 : 전화번호 : 내가 속한 팀 목록 //수정된 부분 을 설명하자면 우선 리턴받은 team을 for문을 돌린다. team의 배열을 하나씩 찾아가며 team안의 객체 title값을 하나씩 뽑아서 view단에 출력해준다 - 결과 2022. 9. 17. 이전 1 2 3 4 다음