찾아보게 된 이유 

mapper 작성시 resultType과 ParameterType을 모르겠어서.

 

resultType

resultType은 vo객체의 주소값이다

 

 

parameterType

values(#{프로퍼티})  로 파라미터를 표시 

parameterType = "파라미터의 자료형 입력"  

 


config.xml에 typeAliases를 지정하여, Vo에 alias를 지정한다.

그러면 mapper에서 parameterType/resultType을 지정할 때 이 alias를 넣어서 사용 가능

※ ctrl + parameterType눌러서 거슬러 올라가 볼 수 있음

https://atoz-develop.tistory.com/entry/MyBatis-%EC%84%A4%EC%A0%95-%ED%8C%8C%EC%9D%BC-SQL-Mapper-%EC%9E%91%EC%84%B1-%EB%B0%A9%EB%B2%95

 

MyBatis 설정 파일 - SQL Mapper 작성 방법

관련 글 - [JAVA/WEB] 웹 프로젝트에 MyBatis 세팅 및 적용하기 MyBatis 설정 파일 - SQL Mapper 작성 방법 MyBatis 사용 목적 중 하나는 DAO로부터 SQL문을 분리하는 것이다. 분리된 SQL문은 SQL mapper..

atoz-develop.tistory.com

 

Main Method

  • 메소드는 함수라고 말하면 안된다. 메인함수가 아니라 메인메소드.
  • 클래스는 필드와 메소드를 가질 수 있다.
  • 프로그램 시작점이라고도 말한다
  • 자바에서 첫번째 글자가 대문자로 시작하면 그것은 클래스이다.
    예를들어 System.out.println 에서는 System이 클래스, out이 필드, println이 메소드이다.
    System이라는 클래스(객체)가 가지고 있는 필드 out, out이 가지고 있는 println 메소드를 쓴다는 뜻

 

 

 

JVM

https://asfirstalways.tistory.com/158

 

#자바가상머신, JVM(Java Virtual Machine)이란 무엇인가?

#JVM이란? JVM이란 JAVA Virtual Machine, 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다 (가상머신이란 프로그램의 실행하기 위해 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것이다.) JV

asfirstalways.tistory.com

 

 

 

LTS 

Oracle 사에서 Java 17부터 LTS(Long Term Support) => 지원기간이 긴 버전을 출시했다. 

https://velog.io/@riwonkim/Java-17%EB%A1%9C-%EC%A0%84%ED%99%98%EC%9D%84-%EA%B3%A0%EB%A0%A4%ED%95%B4%EC%95%BC-%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0

 

1. Java 17로 전환을 고려해야 하는 이유

Java 17이 2021년 9월 출시됩니다. 이전 버전과 크게 다른 부분은 LTS(Long Term Support)라는 지원기간이 긴 버전이기 때문에 앞으로 이 버전을 사용하는 프로젝트와 서비스가 많아질 가능성이 높습니다.

velog.io

 

 

 

 

기타 

  1. GIT BASH를 쓰면 리눅스 명령어도 사용 가능하다.
    리눅스는 서버와 연관되어 있으므로 개발자라면 되도록 많이 공부해야 한다. 

정의

Type이 기본형이냐 아니냐로 가를 수 있다.

 

 

 

예시

'값을 가진다' 고 표현할수 있을 때

int i = 1 ; 

기본형 type들첫글자가 소문자이며, 정해진 크기만큼 메모리를 차지한다

차지한 메모리 안에, 값을 직접적으로 가지게 된다. 

EX ) int는 4byte, short는 2byte, long은 8byte ...

 

 

'값을 참조한다' 고 표현할수 있을 때

Book b = new Book( );

기본형이 아닌 type들첫글자가 대문자이며,  값을 가지는게 아니라,  값을 참조한다

 

 

 

재밌는 보너스 지식 1 

int x, y , z ;

정수 타입 변수를 선언할 때 초기값을 넣어주지 않으면 모두 0을 가지게 된다 

 

재밌는 보너스 지식 2

정수 타입은 4byte의 메모리를 사용한다. 4byte를 이진수로 표현하면?

1byte는 8bit이므로 0이 여덟개 

00000000 00000000 00000000 00000001

 

 

  1. 인텔리제이 실행 
  2. 파일 - 설정 - 플러그인 - Korean 검색 후 플러그인 설치 

 

(스샷은 깔고 난 후 찍었음)

컴파일할 프린트문 ( 자바 11.0.14 버전 )

public class Hello{

    public static void main(String[] args){
        System.out.println("이름: 이은지, 나이: 32, 이메일: eunji6986@naver.com ");
    }

}

 

오류

C:\Users\이은지\Desktop>javac Hello.java
error: file not found: Hello.java
Usage: javac <options> <source files>
use --help for a list of possible options
Exception in thread "main" java.nio.file.InvalidPathException
C:\Users\이은지\Desktop\vcsWorkSpace\TestFile.java:4: error: unmappable character (0xEC) for encoding x-windows-949 System.out.println("?씠由?: ?씠??吏?, ?굹?씠: 32, ?씠硫붿씪: eunji6986@naver.com ");

 

원인

내 원인은 메모장 파일이 txt파일로 저장되어 있어서였다

그런데 cmd에서는 에러가 각양각색이어도 파일을 찾지 못한다고 나타낸다고 해서, 

다른 사람들을 위해 폭풍검색으로 시도했던 모든것들을 사소한것까지 다 적어 보았다

 

실패한 시도들

(파란글씨부터 시도하길 권장)

  • 파일명 뒤에 .java로 확장자명이 입력되어 있어야 함
  • 메모장이라면 저장시 파일형식이 txt로 되어있다면 모든파일로 선택해준 후 저장(아래 자세한 설명)
  • CMD에 입력할때도 파일명.java 로 입력해줘야 함 
  • 난 자바버전 11.0.14였음 (버전은 중요치 않은듯)
  • 환경변수 설정 정상이어야 함 (javac -version / java -version 으로 정상설정여부 확인 가능)
  • " " 큰따옴표 사이에 모든 경로를 입력 (파일명.java까지 모두 입력)
  • 코드안에 한글이 들어있으면 -encoding utf-8 붙여서 인코딩 (파일명 앞에 붙인것도 봤고, 뒤에 붙인것도 봤다)
  • cmd 에 cd입력 후 컴파일 할 파일이 있는 곳으로 경로 입력 후 컴파일 실행 
  • chcp 65001 입력해 Active code page:65001 셋팅 후 입력
    ( 경로에 한글이름이 깨지는 현상 발생했으나 에러문구는 여전히 file not found임)
  • 관리자모드로 cmd실행해서 해보기 
  • 경로에 한글 이름을 없애고 싶으면 C드라이브에 test용 폴더를 만들어서 진행
  •  파일명과 Class명 일치하는지 확인

 

 

해결방법

메모장을 저장할 때, 파일형식을 [모든파일] 로 지정해야 한다 

그렇지 않으면 TestFile.java 라고 저장해봤자 파일형식이 txt로 되어있음 

이렇게 Java 원본파일로 저장되어야 성공 

 

그러면 cmd에는 (cd 로 경로 맞춰준 후)

javac TestFile.java 

만 해주면 인코딩 완료 

클래스 파일이 생성된것을 볼 수 있다.

 

이어서, CMD에서 코드를 실행하려면 java TestFile 입력

 

결과

잘 나왔다.

 

 

 

도움을 얻은 곳

https://gupu.tistory.com/16

 

[CMD기초] cd명령어 사용방법

CMD의 cd명령어의 사용방법을 알아보겠습니다. CD cd는 cmd에서 디렉터리를 이동하는데 쓰입니다. 이때 디렉터리란 아래와 같이 cmd에서 기본적으로 출력되는 부분입니다. C:\Users\user> cmd에cd /?를 입

gupu.tistory.com

https://a-one-take-vibe.tistory.com/19

 

[자바] CMD 에서 컴파일이 안될 때

욕나올 정도로 뒤진 끝에 찾아냈다... 우선 중요한 점은, 이클립스에서 되는데 CMD에서 안 될 때의 원인은 한 가지가 아니다. CMD에서 같은 error메세지를 내보내도 고치는 방법은 다를 수가 있다.

a-one-take-vibe.tistory.com

https://thelibraryofbabel.tistory.com/entry/%EC%9E%90%EB%B0%94-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EC%8B%9C-%EC%9D%B8%EC%BD%94%EB%94%A9-%EB%AC%B8%EC%A0%9C

 

자바 컴파일시 인코딩 문제

자바 컴파일시 인코딩(encoding) 에러 문제가 발생하는 코드 class Hello { public static void main(String[] args) { System.out.println("Hello, world."); // 화면에 글자를 출력한다. } } 컴파일 오류 컴파일..

thelibraryofbabel.tistory.com

 

오류문구 

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageController': Unsatisfied dependency expressed through field 'messageService'('메시지서비스' 필드에 종속성 표현이 충족되지 않는다); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'net.edupoll.kr.service.MessageService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations(종속성을 가진 주석(어노테이션)): {@org.springframework.beans.factory.annotation.Autowired(required=true)}
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'messageController': Unsatisfied dependency expressed through field 'messageService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'net.edupoll.kr.service.MessageService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

 

원인

Service 클래스에 @Service 어노테이션을 붙이지 않았음 

 

해결방법

Service 클래스에 @Service 어노테이션 붙이기 

@Service
public class MessageService {
}

+ Recent posts