본문 바로가기

전체 글100

[MySql] 값이 있으면 INSERT, 없으면 UPDATE / PK 중복시 업데이트 구문 / ON DUPLICATE KEY UPDATE 서칭중 MySql 속도를 위한 메모를 봤는데 ON DUPLICATE KEY UPDATE 사용을 권장한다. : 데이터 삽입 시, PK나 UNIQUE KEY가 중복인 경우 UPDATE 하는 구문(중복이 아니면 INSERT) Oracle의 MERGE INTO와 유사하게 DB에 해당row 가 없으면 INSERT, 있으면 UPDATE 와 같이 역할을 나눌 수 있다. SELECT 구문을 이용해서 코드가 있으면 업데이트 하고 없으면 인서트 하는 코드ㄴㄴ - 서버에 불필요하게 왔다갔다 하지 않아도 된다. 구문 INSERT INTO member (name, age, cnt) VALUES ('kim', 26, 0) ON DUPLICATE KEY UPDATE age = age -1, cnt = cnt + 1; ON DUPL.. 2022. 7. 5.
[Spring Boot] [MyBatis] xml 에서 스네이크 표기법을 camelCase로 자동 변환 / resultMap 지정하지 않고 사용하기 DB와 java에서 사용하고자 하는 데이터 표기법이 다른경우. snake 표기법 -> userId // DB에는 컬럼명으로 스네이크형식을 사용. camelCase 표기법 -> user_id // 하지만 서버에서 객체의 멤버 변수의 이름은 카멜케이스 사용. 그렇기 때문에 MyBatis에서 resultType을 VO, DTO로 지정한다면 변수명이 달라서 데이터를 못받아오는 경우가 생긴다. alias를 쿼리문마다 주거나 (SELECT user_id AS userId FROM DUAL), resultMap을 쿼리에서 쓰는 컬럼 수 만큼 지정해주면 되긴 하지만 (원래는 xml에서 을 사용해서 일일이 매치해줬는데 솔직히 중노가다에 가깝고 귀찮았음) snake 형태를 dto에서 사용하는 camelCase로 자동 변환.. 2022. 6. 15.
[SpringBoot] source tree를 이용해 git소스의 새 프로젝트를 로컬(Eclipse)에서 여는 방법 Eclipse 는 불편한게 참 많다.. 지금은 인텔리를 쓰지만 한 때 회사에서 Source tree를 사용하고 Eclipse IDE를 사용했을때 메모했던 것이다. 원하는 경로의 로컬 폴더에 source tree로 git에서 소스를 Clone받는다. 사용하려는 빈 workspace로 이클립스를 연다. File > Import > Gradle > Existinng Gradel Project Project root direcotry에 git에서 clone한 소스를 위치시키고 Next. (위치시킬때 중요한 점은 소스코드를 정확히 찾아야한다. 예를들면 admin과 user소스가 혼재되어 있을때는 user 소스만 오픈하고 .gradle이 포함된것을 기준으로 프로젝트 소스인지 구분하면 된다.) Override wor.. 2022. 6. 15.
[SpringBoot / Eclipse / Gradle] > startup failed: General error during conversion: Unsupported class file major version 61 오류 해결 에러 구문은 다음과 같다 >>> FAILURE: Build failed with an exception. * Where: Initialization script 'C:\work\enter\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle' * What went wrong: Could not compile initialization script 'C:\work\enter\.metadata\.plugins\org.eclipse.buildship.core\init.d\eclipsePlugin.gradle'. > startup failed: General error during conversion: Unsupported class.. 2022. 6. 14.
[JAVA] Static (정적) https://coding-factory.tistory.com/524 [Java] 자바 static의 의미와 사용법정적(Static)이란? 정적(static)은 고정된이란 의미를 가지고 있습니다. Static이라는 키워드를 사용하여 Static변수와 Static메소드를 만들 수 있는데 다른말로 정적필드와 정적 메소드라고도 하며 이coding-factory.tistory.com static 키워드를 통해 생성된 정적 멤버들은1.Heap 영역이 아닌 Static영역에 생성2. 모든 객체가 같은 값을 공유한다. (어디서든 참조해서 사용할 수 있다.) 3. Garbage Collector의 관리 영역 밖에 존재하기에 한 번 할당되면 프로그램이 종료될때까지 유지됨   선언시 static으로 사용할지는 공용해서 사.. 2022. 6. 2.
반응형