🌳 에러 코드 ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`phoneNumber` = '010-0000-0000'' at line 15 ### The error may exist in file [/Users/hongyuri/Desktop/메가스터디 IT/Spring노트북/clone/bin/main/mappers/bookingMapper.xml] ### The error may invol..
🌳 에러 코드 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Apr 06 12:23:48 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). org.apache.jsp.WEB_002dINF.jsp.lesson06.booking_005finsert_005flayout_jsp java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.jsp.lesson06.booking_005finsert_005flayou..
🌱 오늘의 주제 : 스프링이 사랑한 디자인 패턴 🌱 어댑터 패턴(Adapter Pattern) 서로 다른 두 인터페이스 사이에 통신이 가능하게 하는 것. 예를 들어, 데이터베이스 공통의 인터페이스인 ODBC 또는 JDBC를 이용해 다양한 데이터베이스 시스템을 단일한 인터페이스로 조작할 수 있게 하는 것. 개방 폐쇄 원칙 (OCP)를 활용한 패턴. "호출당하는 족의 메서드를 호출하는 쪽의 코드에 대응하도록 중간에 변환기를 통해 호출하는 패턴" 🌱 프록시 패턴(Proxy Pattern) 프록시는 대리자, 대변인이라는 뜻을 가진 단어이다. 대리자는 실제 서비스와 같은 이름의 메서드를 구현한다. 이때 인터페이스를 사용한다. 대리자는 실제 서비스에 대한 참조 변수를 갖는다.(합성) 대리자는 실제 서비스의 같은 이..
🌱 오늘의 주제 : 입출력(I/O) 과 스트림(stream)이란? 🌱 입출력(I/O) 과 스트림(stream) 입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고 받는 것을 말한다. 스트림은 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림이라고 한다. 즉, 데이터를 운반하는데 사용되는 연결통로이다. 입출력은 입력스트림과 출력스트림 두개가 필요하다. 🌱 바이트 기반 스트림 - InputStream, OutputStream 스트림은 바이트단위로 데이터를 전송하며 입출력 대상에 따라 다르다. 입출력의 대상이 달라져도 동일한 방법으로 입출력이 가능하다. 🌱 보조 스트림 보조 스트림은 데이터를 입출력할 수 있는 기능은 없지만, 스트림의 기능을 향상시키거나 새로운 기능을..
🌱 오늘의 주제 : 스트림(collect(), 스트림의 그룹화와 분할 🌱 collect()와 Collectors 컬렉터(collector)는 collect()가 스트림의 요소를 수집하는 방법이 정의되어 있다. collect() - 스트림의 최종연산, 매개변수로 컬렌터를 필요로 한다. Collector - 인터페이스, 컬렉터는 이 인터페이스를 구현해야 한다. Collectors - 클래스, static 메서드로 미리 작성된 컬렉터를 제공한다. 🌱 스트림을 컬렉션, 배열로 변환 스트림의 모든 요소를 컬렉션에 수집하려면, Collectors클래스의 toList() 메서드를 사용하면 된다. 특정 컬랙션을 지정하려면, toCollection()에 원하는 컬렉션의 생성자 참조를 매개변수로 넣어주면 된다. 스트림에 ..
🌱 오늘의 주제 : 스트림의 최종연산 🌱 스트림의 최종연산 🌱 스트림의 최종연산 - forEach() 최종 연산은 스트림의 요소를 소모해서 결과를 만들어낸다. 최종 연산후에 스트림은 닫히게 되고 더이상 사용 할 수 없다. forEach()는 스트림의 요소를 소모하는 최종연산이다. 반환 타입이 void이므로 스트림의 요소를 출력하는 용도로 사용 된다. void forEach(Consumer
🌱 오늘의 주제 : Optional 🌱 Optional Optional는 T타입의 객체를 감싸는 래퍼 클래스이다. 그래서 Optional타입의 객체에는 모든 타입의 객체를 담을 수 있다. Optional를 이용하면, null 체커를 위한 if문 없이도 NullPointerException이 발생하지 않는 보다 간결하고 안전한 코드를 작성하는 것이 가능하다. public final class Optional { private final T value; // T타입의 참조변수 } 🌱 Optional 객체 생성하기 Optional 객체를 생성할 때는 of() 또는 ofNullable()을 사용한다. 참조변수 값이 null일 가능성이 있으면, of()대신, ofNullable()을 사용해야 한다. 참조변수를 기..
🌳 에러 코드 org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 1 errors Field error in object 'weatherHistory' on field 'date': rejected value [2023-04-19]; codes [typeMismatch.weatherHistory.date,typeMismatch.date,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [weath..
🌳 에러 코드 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Mar 31 11:35:23 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 14 org.mybatis.spring.MyBatisS..