Programming 73

[Mybatis] resultType 을 DTO 또는 VO 로 리턴 시 주의사항

DTO 클래스 또는 VO 클래스의 클래스 변수들의 이름을 데이터베이스의 컬럼명과 동일하게 해주어야 resultType이 DTO 또는 VO 일때, 해당 클래스로 반환된다. 예시 DTO 클래스 @Data public class UserDTO { private String user_email; private String user_pw; private String user_pwCnf; public String getUser_email() { return user_email; } public void setUser_email(String user_email) { this.user_email = user_email; } public String getUser_pw() { return user_pw; } public..

Programming/Mybatis 2021.12.06

[Tomcat] Caused by: java.lang.IllegalStateException: java.lang.IllegalStateException: Logback configuration error detected: ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(/tmp/access.log,true) call failed. java.io.FileNotFound..

오류 메세지 Caused by: java.lang.IllegalStateException: java.lang.IllegalStateException: Logback configuration error detected: ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - openFile(/tmp/access.log,true) call failed. java.io.FileNotFoundException: /tmp/access.log (Permission denied) 해결 해당 파일에 권한을 주면 된다. sudo chmod 777 /tmp/access.log

Programming/Tomcat 2021.12.05

[Linux] 리눅스 인코딩 설정

1. 현재 설정된 인코딩 설정 확인 [root@localhost etc]$ echo $LANG ko_KR.UTF-8 2. 인코딩 설정 해제 [root@localhost sysconfig]# unset LANG [root@localhost sysconfig]# LANG=C 3. 사용 가능한 인코딩 설정 확인 [root@localhost etc]$ locale -a | grep ko ko_KR ko_KR.euckr ko_KR.utf8 korean korean.euc ru_RU.koi8r ru_UA.koi8u tg_TJ.koi8t uk_UA.koi8u 4. /etc/sysconfig/i18n 파일 수정 [root@localhost sysconfig]# vi i18n #LANG="ko_KR.UTF-8" LANG..

Programming/Linux 2021.12.02

[Spring] 이클립스에서 Environment값 설정

스프링부트 프로젝트를 진행하다보면 application.properties에 보안이 필요한 정보들을 입력해야할 때가 있다. 한 프로젝트를 진행하면서 application.properties에 암호화된 jdbc 값을 입력할 일이 있었는데, properties 우선순위 상 application.properties 를 읽어오는 순위는 상대적으로 늦어서 bean 에러가 발생한 경우가 있었다. 이런 경우 이클립스 환경에서 jdbc를 굳이 프로퍼티 정보에 남기지 않고 실행시키는 방법을 소개하고자 한다. (리눅스 서버 환경에서는 서버상에 별도로 env를 설정해야한다.) Run - Run Configurations.. 탭에 들어가서 [ Spring Boot App ] 탭에서 실행시키고자 하는 프로젝트를 클릭한다. En..

Programming/Spring 2021.12.02

[Spring] SpringBoot 프로퍼티(properties) 우선순위

1. 유저 홈 디렉토리에 있는 spring-boot-dev-tools.properties 2. 테스트에 있는 @TestPropertySource 3. @SpringBootTest 애노테이션의 properties 애트리뷰트 4. 커맨드 라인 아규먼트 5. SPRING_APPLICATION_JSON (환경 변수 또는 시스템 프로퍼티) 에 들어있는 프로퍼티 6. ServletConfig 파라미터 7. ServletContext 파라미터 8. java:comp/env JNDI 애트리뷰트 9. System.getProperties() 자바 시스템 프로퍼티 10. OS 환경 변수 11. RandomValuePropertySource 12. JAR 밖에 있는 특정 프로파일용 application properties ..

Programming/Spring 2021.12.02

[Spring] @Bean, @Configuration, @Component 어노테이션 차이

@Bean, @Configuration 개발자가 직접 제어가 불가능한 외부 라이브러리 또는 설정을 위한 클래스를 Bean으로 등록할 때 @Bean 어노테이션을 활용 1개 이상의 @Bean을 제공하는 클래스의 경우 반드시 @Configuration을 명시해 주어야 함 @Component 개발자가 직접 개발한 클래스를 Bean으로 등록하고자 하는 경우 @Component 어노테이션을 활용

Programming/Spring 2021.12.02

[Mybatis] ParameterType List, Map 처리 (feat. foreach구문)

Rest API에서 8만개가 넘는 데이터를 DB에 넣어줄 일이 생겼다. 컨트롤러에서 insert를 for문으로 돌려보니 매우 비효율적이었고, 생각해보니 mapper에 파라미터를 list로 가져가면 되지않을까 하는 생각이 들어 찾아보니 역시 방법이 있었다.. +) 80,000개의 데이터를 for문으로 insert했을 땐 몇 분 걸렸던 처리가 15초만에 처리되었다... But.... 단점) insert를 한번에 처리하기 때문에 validation 에러가 났을 경우 모든 데이터가 insert 되지 않는다... Mapper 파라미터가 List일 경우 INSERT INTO T_BOARD ( TITLE , CONTENTS , DISPLAY_YN , EMAIL , REG_ID ) VALUES ( "${item.tit..

Programming/Mybatis 2021.11.26

[GitHub] GitHub에 잘못 올라간 파일 삭제하기

원격 저장소에서 파일 삭제 // 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다. $ git rm --cached [File Name] 원격 저장소에 적용 git add . git commit -m 'message' git push origin master 커밋 히스토리에 저장되어 있는 정보 삭제방법은 여기로 https://matseventwelve.tistory.com/39 [GitHub] github 커밋 히스토리 삭제하기 깃헙을 사용하다가 실수로 중요한 정보를 커밋한 경우가 생긴다. 이럴 경우 파일을 삭제하더라도 history에 정보가 남게된다. 다음 명령어들로 삭제해주도록 하자. git filter-branch --force --index-filter matseve..

Programming/GitHub 2021.11.24

[GitHub] github 커밋 히스토리 삭제하기

깃헙을 사용하다가 실수로 중요한 정보를 커밋한 경우가 생긴다. 이럴 경우 파일을 삭제하더라도 history에 정보가 남게된다. 다음 명령어들로 삭제해주도록 하자. git filter-branch --force --index-filter "git rm --cached --ignore-unmatch '파일경로/파일명'" --prune-empty --tag-name-filter cat -- --all '파일경로/파일명' 에서 파일경로는 root부터 지정해준다. ex) src/main/resources/properties/application.properties 명령어를 수행하면 이런 텍스트가 뜨고 얼마 후 history 제거 처리가 진행된다. 완료 후 git push origin master --force 명..

Programming/GitHub 2021.11.24