Spring/DB_MyBatis7 [MyBatis] parameter type string if문 사용법 MyBatis문에서 parameter type string시에 해당 if문을 잘못사용하면 에러가 발생한다. [오류난 코드] SELECT * FROM 테이블명 //test아이디일 경우 WHERE 컬럼명 = #{id} org.apache.ibatis.reflection.ReflectionException:There is no getter for property named 'id' in 'class java.lang.String' 해당 String getter값이 없다고 한다. mybatis에서 Vo를 사용한게 아니라면 value 값으로 확인해야한다. 하지만 2024. 1. 15. [ Mybatis / Spring ] foreach 구문을 이용해서 Insert 대량 삽입하기 MyBatis에는 foreach 라는 것을 이용해서 Batch Insert를 할 수 있는 기능을 제공해줍니다. foreach를 통해서 데이터를 INSERT 하는 것과 한 건씩 여러번 INSERT 하는 성능 차이가 얼마나 날까? 라는 생각을 할 수 있습니다. 저는 처음에 insert문을 만들때 한 건씩 등록하는 로직을 제작을 하였는데 137만건 정도의 insert를 두번이상하니깐 한 건씩 등록하는건 약 1시간 30분정도 걸리더라구요. 그래서 찾아보니깐 foreach를 이용해서 insert를 하면 성능이 좋다고 합니다. foreach를 이용해서 insert를 한 것은 약 3분정도 걸렸어요. 약 30배 이상 차이가 나는 것을 볼 수 있었습니다. * 성능 차이가 나는 이유 1. MyBatis 인터페이스 메소.. 2022. 3. 15. [ mybatis ] insert/update 쿼리 실행 후 값 가져오기(useGeneratedKeys, keyProperty, SelectKey) insert/update 등을 실행하고서 결과를 확인해야 하는 상황이 생깁니다. 다음은 insert 되는 Auto Increment 값(mysql 등)이나 sequence 값(oracle 등)을 조회하는 방법입니다. ▷ useGeneratedKeys, keyProperty 옵션 사용하는 데이터베이스가 Mysql과 같이 자동생성 키를 지원한다면 useGeneratedKeys, keyProperty 옵션을 통해 insert 된 데이터의 key 값을 리턴 받을 수 있습니다. 리턴 받은 값은 보낸 VO에 저장됩니다. - useGeneratedKeys : (insert, update에만 적용) 자동생성 키를 받을때 true로 설정한다. (default: false) - keyProperty : 리턴 될 key p.. 2022. 3. 15. [Spring] 검색 시 특수문자(%, _ , \) 포함하여 검색하기 특수문자 입력을 막기 위해서 찾은 방법이 3가지가 있다. 1. java 단에서 해결하기 2. DB 단에서 해결하기 3. js에서 정규식을 이용하기 → 해당 기능은 만들어 보지 않음 %, _ , \(특수문자)를 검색어에 넣어서 검색해보자. 1. java 단에서 해결하기 - java ( 특수기호에 \를 붙인다.) if(Vo.get변수명() != null) { // java에서는 '\'기호 대신에 '\\' 로 표현한다. Vo.set변수명(Vo.get변수명().replaceAll(“\\\\”,”\\\\\\\\”).replaceAll(“%”,”\\\\%”.).replaceAll(“_”, ”\\\_”)); } - js (입력한 검색어를 java단에서 \기호를 더 넣어주기때문에 입력한 검색어를 그대로 보여주기.. 2022. 3. 10. [MyBatis] 개발 생산성 향상,중복 쿼리 줄이기 <sql>,<include> 개념 및 문법 - 개념 다른 구문에서 재사용하기 위한 SQL 조각 - 조건 1.id 속성 값이 필수입니다. 2.사용하려는 태그보다 먼저 선언되어야 합니다.(위에 존재해야 합니다.) - 문법 ${alias}.id,${alias}.username,${alias}.password → 사용안해도 상관없음 - 개념 문을 DML(Data Manipulation Language) 태그에 삽입하는 기술 - 문법 [insert,update,delete 도 가능 ] [insert,update,delete] + 설명 //no property FROM //property 한개 작성 FROM ${alias(별칭)} //property 여러 개 작성 FROM ${alias(별칭)} WHERE id = ${alias02(별칭)} SE.. 2022. 3. 10. 이전 1 2 다음 728x90