mybatis(3)
-
MYBATIS - INSERT list
SQL 원형 : INSERT INTO STUDENT (STD_SEQ, STD_NAME, DEPT) VALUES (001, '영호', '수학과'), (002, '영수', '물리학과'), (003, '변식', '컴퓨터공학과'), . . . INSERT 의 경우, VALUES 뒤에 따라오는 (속성값) 레코드가 연속으로 나열하는 방식이기 때문에 VALUES 뒤에 를 넣는다. separator (구분자)는 ',' 임을 명심하기 바란다. INSERT INTO STUDENT_TBL (ID, NAME) VALUES (#{element.id}, #{element.name})
2023.11.03 -
MYBATIS - UPDATE list
SQL 원형: UPDATE PET_TBL SET NAME = '둘리' WHERE ID = 'Pet001'; UPDATE PET_TBL SET NAME = '도너' WHERE ID = 'Pet002'; UPDATE PET_TBL SET NAME = '또치' WHERE ID = 'Pet003'; . . . INSERT 와 달리 UPDATE 문을 여러번 실행하는 방식이기 때문에 쿼리 사이에 반복을 처리하는 foreach 가 올 수 없다. 대신 쿼리문을 로 감싸며 그것의 바깥을 BEGIN, END 로 한 번 더 감싸서 처리해야 한다. 구분자는 마침표를 의미하는 ';' (세미콜론) 으로 지정해야 한다. BEGIN UPDATE TEST_TBL SET NAME = #{element.name} WHERE ID = #{..
2023.10.30 -
정규식을 활용한 Underscore / Camel Case 전환 : INSERT 쿼리 생성
필요해서 퇴근 후에 만들었는데 현실에서 막상 사용하려고 하니 인터넷이 안되는 환경이었다. #!/bin/bash # 활용법 : 1번 인자 : 테이블명 2번 인자 : ("_"로 구분된) 컬럼명이 들어 있는 파일 function usage { prog_nm=$(basename $0) echo 'usage :' echo -e '\t'${prog_nm} 'table-name' 'camel-case-file' echo or # 테이블명을 지정하지 않으면 컬럼명만 처리함 echo -e '\t'${prog_nm} 'camel-case-file' } [[ $# -lt 1 ]] && usage && exit 0 function genSQL { [[ ! -f $FILE ]] && usage && exit 1 if [ ! -..
2023.08.11