본문 바로가기

Web (~2022.06)20

[Spring boot] [에러 해결] 스택오버플로우요..? 드디어 내게도 이런 에러가 컴퓨터는 비명을 지름 하지만 에러 사랑꾼인 나는 조금도 놓치지않고 스택오버플로우라며 좋아 날뛰었다. 실제로 보는 건 처음이기때문... 인증샷 먼저 박고 디버깅을 해볼까! 에러 원인 아.. business 설계 담당자가 showmapper. 를 빠트려서 메소드 무한 반복... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 에러 해결 Public int getTotal(ListDTO listDTO) { return showmapper.getTotal(listDTO) } 깨알 지식 stack overflow 란? 지정한 스택 메모리 사이즈보다 더 많은 스택 메모리를 사용하게 되어 에러가 발생하는 상황을 일컫는다. stack overflow 는 언제 발생하는가? 1. 재귀 함수 재귀 함수는 스택 오버플로우의 대표적인 사례다. 예시.. 2022. 6. 19.
[Spring Boot] [에러 해결] listDTO no getter이래잖어~ 나의 삽질 과정 에러 메세지 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'listDTO' in 'class com.example.teamprojeect.domain.vo.list.ListDTO' https://twofootdog.github.io/Mybatis-There-is-no-getter-for-property-named-%EC%97%90%EB%9F%AC/ [Mybatis]There is no getter for property named 에러 | 두발로걷는개 Mybatis 에러 원인 및 해.. 2022. 6. 18.
[REST] [Ajax] RESTFul api 방식과 Ajax, json REST (Representational State Transfer) 직역하면 데이터 전송 대표 상태?! 1. 서버가 달라도 데이터를 전송하고 받을 수 있어야한다. 2. 개발할 때 다양한 언어를 쓴다. 다른 언어에서 다른 언어로 객체를 보낼 수 없기때문에 json 등의 방식을 쓴다. 즉, 서버가 달라지고 언어도 달리지니 원활한 데이터 전송을 위해 json을 사용하자는 것. 메서드 불러다가 편하게 데이터 쓰고싶다는 것. 그리고 이런 것을 'REST'라고 한다는 것! 그 전에, URL과 URI의 차이를 보자 UR은 Uniform Resource 를 의미하고 URL 의 L은 Locator URI의 I는 Identifier를 의미한다. 2022. 6. 4.
[SQL] [에러 해결] SQL Error [904] [42000]: ORA-00904: 에러 해결 에러 메시지SQL Error [904] [42000]: ORA-00904:에러 원인입력된 열 이름이 누락되었거나 잘못 되었을 경우 발생한다.- 존재하지 않는 열 이름을 지정함- 정의된 열 이름과 대소문자가 일치하지 않는 경우- 작은 따옴표(')와 큰 따옴표(") 사용 방법의 오류- 열 이름에 특수 문자 사용- 열 이름에 Oracle 예약어 사용 이 중 세번째, 따옴표 사용에서 문제가 있었다. 에러 해결작은 따옴표를 사용해서 값으로 취급해주고 해결했다.문자열을 표현하기 위해 "이진서콘서트" 와 "20220202" 로 작성했더니 오류가 났다.따라서 둘다 ' ' 작은 따옴표로 감싸주니 잘 실행되었다.  [ Reference ] [Oracle] ORA-00904 : 부적합한 식별자 invalid identifi.. 2022. 6. 4.
[Spring Boot] [에러 해결] Required URI template variable 'replyNumber' for method parameter type Long is not present] 에러 메시지 Required URI template variable 'replyNumber' for method parameter type Long is not present] uri template variable이라고 하는 것 보니 @PathVariable 어노테이션과 관련있는 것 같다. 에러 원인 @PathVariable에서 ()로 url 값을 할당해주지 않았다. 에러 해결 @PathVariable 어노테이션이란? 클라이언트 측에서 url에 파라미터를 같이 전달하는 경우가 있다. 예시를 들자면 게시판 127번 글을 출력하는 URL일때, http://localhost:1000/board/127 처럼 말이다. 이럴 때 스프링에서 전달인자를 처리하는데 이 때 사용하는 것이 @PathVariable 어노테.. 2022. 6. 4.
[Spring boot] [에러 해결] 부적합한 열 유형, null 뜨는 문제 에러 메시지 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='replyNumber', mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parame.. 2022. 6. 4.
[Spring boot] [에러 해결] typeAlias란? 에러 메시지 java.lang.NoSuchMethodException: com.example.board.mapper.BoardMapper. () org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating interface com.example.board.mapper.BoardMapper with invalid types () or values (). C.. 2022. 6. 4.
[Spring boot] 3-tier 구성 방식 스프링 프로젝트를 3-tier로 구성하는 일반적인 이유는 유지보수에 있다. 각 영역을 독립적으로 설계해서 나중에 특정 기술이 변하더라도 필요한 부분만 교체하면 되기 때문이다. 따라서 각 영역은 설계 당시부터 영역을 구분하고, 해당 연결 부위는 인터페이스를 이용해서 설계한다. Presentation Tier (화면 계층) 화면에 보여주는 기술을 사용하는 영역이다. 컨트롤러에서 사용자의 요청에 맞는 응답처리를 진행한다. HTML 엔진 (thymeleaf), HTML 등이 담당한다. Spring MVC 객체를 말하기도 하며, 프론트 컨트롤러 (DispatcherServlet), 컨트롤러, 뷰가 포함된다. 서비스 계층, 데이터 엑세스 계층에서 발생하는 Exception을 처리한다. @Controller 어노테이.. 2022. 6. 4.
[Spring boot] Front-Controller 패턴 (스프링 MVC) MVC 모델이란? MVC (Model - View - Controller) 모델은 사용자 인터페이스, 데이터 및 논리 제어를 구현하는 데 사용되는 소프트웨어 디자인 패턴이다. MVC 패턴을 사용하면 business logic과 presentation logic을 분리하기 쉽고 유지보수가 편리해진다. Model 모델은 데이터를 조회했을 때 결과를 담을 수 있는 저장공간이 모여있는 클래스를 말한다. 즉 애플리케이션이 포함해야 할 데이터가 무엇인지를 정의한다. View 화면 구현(html, jsp, css 등) 방식을 정의한다. Controller 데이터베이스에 접근하는 메서드들이 모여있는 곳이다. 애플리케이션의 사용자로부터 입력에 대한 응답으로 모델, 뷰를 업데이트하는 로직을 포함한다. 스프링 프로젝트에서 .. 2022. 6. 4.