분류 전체보기 259

[MyBatis/Error] A query was run and no Result Maps were found for the Mapped Statement

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement '###mapper'. It's likely that neither a Result Type nor a Result Map was specified. 해당 오류는 mapper에서 mybatis 부분의 resultType을 올바르게 작성하지 않아서 발생하는 것이다. resultType을 바르게 작성하면 오류가 사라진다. 나의 경우 resultType을 적지 않아서 해당 오류가 발생하였다.

[Java/Error] org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class []

이클립스에서 게시판을 만들다가 서버가 좀 꼬인 듯해서 Server clean이랑 Project clean, Maven clean을 했다. 그러고 실행시키니까 Bean Class를 찾지 못한다는 오류가 떴다. org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [] 구글링해서 나오는 여러 방법들을 시도해봤지만 오류가 사라지지 않았다. 그러다 다시 Project Clean을 해야되나 싶어서 Project Clean을 했더니 제대로 작동이 됐다. 어이가 없었지만 큰 문제가 아니었어서 다행이었다.

[Java] Scanner와 BufferedReader

◆ Scanner : 입력받을 때 정수값과 소수값, 문자데이터를 구분지어 읽어들인다. - 장점: 직관적이며 사용하기 편리하다. - 단점: 키보드의 키를 입력하는 즉시 바로 전달되어 BuffredReader보다 속도가 느리다. ◆ BufferedReader : 입력받을 때 그 값을 8,192 char(16,384 byte) 크기의 버퍼에 담아놓았다가 한번에 전달한다. - 개행문자만 경계로 인식하고, 입력된 데이터의 형식은 String으로 고정되므로 데이터를 따로 가공해야 한다. cf. Scanner: 띄어쓰기와 개행문자를 기준으로 입력값을 인식하므로 데이터를 따로 가공할 필요 없다. - BufferedReader를 사용할 땐 무조건 예외 처리를 해야 한다. (try ~ catch문 또는 throws IOE..

[docker] 도커 컨테이너 관리하기

도커 컨테이너 도커 이미지를 실행할 수 있는 인스턴스이다. 개별 애플리케이션의 실행에 필요한 실행환경을 독립적으로 운용한다. 1. 컨테이너 생성 docker run [옵션] [저장소 이름/][:버전] ex) docker run -d --name myweb -p 80:8080 tomcat:8.5.72-jdk8 - 다운로드 받은 이미지가 없는 경우 자동으로 다운로드 받아 생성된다. - 이미지 다운로드(pull)과 컨테이너 생성(create), 실행(start), 접속(attach)까지 한번에 수행된다. - [옵션] 옵션 설명 -d 백그라운드에서 컨테이너를 실행한다. -i -t 컨테이너 내부로 진입하여 컨테이너와 상호 입출력한다. --name 컨테이너에 이름을 지정한다.(지정하지 않으면 16진수 임의값으로 이..

Cloud/Docker 2022.08.23

[docker] 도커 이미지 관리하기

도커 이미지 컨테이너를 만들고 실행하기 위한 읽기 전용 파일(템플릿)이다. 모든 컨테이너는 이미지 기반으로 생성되며, 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있다. 컨테이너는 필요한 파일과 설정을 이미지에서 읽기 전용으로 가져와 사용하고, 변경된 사항만 컨테이너 계층에 별도로 저장한다. 하나의 이미지로 여러 컨테이너에서 사용할 수 있다. * 도커 허브 도커에서 공식적으로 제공하고 있는 중앙 이미지 저장소다. 도커 계정을 가진 누구나 이미지를 업로드하거나 다운로드할 수 있으며, 다양한 종류의 이미지(리눅스 운영체제부터 웹 서버, 데이터베이스, 각종 애플리케이션 등)를 도커 레지스트리에서 내려받아 컨테이너로 생성할 수 있다. 1. 도커 이미지 이름 [저장소 이름/]이미지 이름[:태그] - 저장소..

Cloud/Docker 2022.08.23

[용어] REST/REST API/RESTful

REST(Representational State Transfer) 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다. 즉, 자원의 표현(representation)에 의한 상태 전달을 말한다. REST는 ROA(Resource Oriented Architecture)를 따르는 웹 서비스 아키텍쳐이다. 구체적인 의미로는 HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. REST CRUD Operation - Create: 생성(POST) - Read: 조회(GET) - Update: 수정(PUT) ..

IT/용어 2022.08.22

[용어] 마이그레이션(migration)

마이그레이션 한 운영환경으로부터 좀더 낫다고 여겨지는 다른 운영환경으로 옮겨가는 과정을 말한다. 예를 들어, 윈도우NT 환경으로부터 유닉스 기반의 운영체계로 옮기는 것(또는 그 반대)을 의미할 수 있다. 새로운 하드웨어나 새로운 소프트웨어, 또는 둘 모두가 바뀌는 환경으로의 이주를 포함할 수 있다. 한 종류의 데이터베이스에서 다른 종류의 데이터베이스로 데이터를 옮기는 경우도 해당될 수 있다. 마이그레이션은 데이터를 한 저장장치에서 다른 저장장치로 옮기는 과정을 의미하는 데에도 사용된다. [출처] 텀즈 http://www.terms.co.kr/migration.htm [텀즈] migration ; 마이그레이션, 이주(移住) 정보기술에서, 마이그레이션이란 한 운영환경으로부터, 대개의 경우 좀더 낫다고 여겨지..

IT/용어 2022.08.22

[docker] 도커의 구조와 특징

도커(Docker) 애플리케이션을 개발, 배포, 실행하기 위한 플랫폼이다. 컨테이너를 사용하여 애플리케이션 및 지원 구성 요소를 개발하며, 리눅스 자체 기능을 사용하여 프로세스 단위의 격리 환경을 제공한다. 배포 용량과 시간을 단축하고, 성능 손실을 최소화시킨다. 1. 도커의 구조 2. 도커의 특징 (1) 도커 엔진과 도커 데몬(dockered) - 외부에서 Docker API 요청을 받아 Docker 객체와 서비스들을 관리한다. - 컨테이너를 생성하고 관리하는 주체이다. - 도커 데몬: 도커 프로세스가 실행되어 입력받을 준비가 된 상태를 말한다. (2) 도커 클라이언트(docker) - 입력된 명령어를 Docker API 형태로 도커 데몬에게 전달한다. - 도커 엔진의 수행 결과를 반환받아 사용자에게 ..

Cloud/Docker 2022.08.22

[MyBatis] Mapped Statements collection does not contain value for 에러

java.lang.IllegalArgumentException: Mapped Statementscollection does not contain value for 해당 에러는 이럴 때 발생한다. 1. mapper id가 다를 경우 : mapper 파일에서 구문의 id 값과 Dao/Service에서 접근하는 id값이 다를 때 발생할 수 있다. 2. Parameter와 bean의 필드명이 틀릴 경우 3. mapper 파일에 정의된 namespace와 Dao/Service에서 호출하는 namespace가 다를 경우 4. mybatis-config 파일에 mapper가 정의되어 있지 않거나 스펠링이 틀릴 경우 5. mapper에 정의된 namespace 명칭이 같은 application 내에 중복될 경우 출처:..