일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 홀리스틱 유기농
- 반려견 열사병
- 반려견 홀리스틱
- 강아지
- 동인천 맛집
- 강아지 더위
- 신포동 맛집
- 반려견 사료등급
- 티켓팅메크로
- 쿠팡메크로
- 티켓팅매크로
- 강아지 유기농
- 샤로수길 데이트
- 반려견 유기농
- 샤로수길 맛집
- 반려견 종류
- 반려견 더위
- 반려견
- 서울대입구 맛집
- 강아지종류
- 부산 맛집
- 닥스훈트
- 강아지 유기농 사료
- 쿠팡매크로
- 강아지 종류
- 강아지 열사병
- 자동화봇
- 강아지 홀리스틱
- 반려견 유기농 사료
- 국비지원 예습
- Today
- Total
목록코딩일기/마이바티스 (3)
심심한잉여의 잡동사니
스프링부트와 마이바티스, Mysql을 사용했습니다. // 서비스 로직(자바) // 프로시저 호출 repo.callP(Param) { call callP( #{param1, mode=IN, jdbcType=VARCHAR} #{param2, mode=IN, jdbcType=VARCHAR} #{param3, mode=OUT, jdbcType=VARCHAR} ) } 위 코드에서 resultType을 따로 설정하여 별도로 받으려고 했으나 빈(Null)값으로 받아져서 당황했었다. 따라서 위와 같이 서비스로직에서 프로시저를 호출하게 되면 OUT으로 하고싶은 param3는 호출을 위한 인자객체인 Param에 대해 반환값이 들어가게 되고 저기서 값을 사용하고 싶으면 별도로 리턴값을 사용하는 것이 아닌 Param객체를 다..
XML을 사용하다보면 비교연산을 하려고 사용한 꺽쇠로 인해 흐틀어지는 경우가 발생하여 마이바티스가 이상하게 작동하는 경우가 있다. 이 경우 해결하는 방법으로는 CDATA를 사용하는 방법이 있다. Character Data의 약자이며 문자 데이터를 말하는 것이다. 그런데 이 용어를 좀 더 정확하게 말하면 (Unparsed) Charater Data 즉 파싱하지 않는 문자 데이터를 뜻한다. XML에서 쿼리 사용 시 아래와 같이 작성한다면 SELECT EMP_NAME FROM EMP WHERE SALARY > 25000000 꺽쇠로 인해 작동을 안하는 경우가 발생할 수 있다. 이러한 경우에는 SELECT EMP_NAME FROM EMP WHERE 25000000 ]]> 위와 같이 하거나 아래와 같이 하는 방법..
마이바티스를 사용한 프로젝트에서 mapper.xml을 작성하다보면 보통은 샵(#{})을 통해 작성하게 되나 필요에 의해 달러(${})를 사용하기도 한다. 이 둘은 용도가 전혀 다르기 때문에 명확히 구분해서 사용하는 것이 좋다. 샵(#{}) SELECT name AS name FROM user WHERE test = #{test} 샵을 사용한 경우 위 코드와 같은 예시로 작성을 주로하게 되며 Mybatis에서 위와 같은 샵(#{})을 사용한 쿼리문을 실행하게 되면서 PreparedStatement를 생성하게 되는데 이를 이용하게 되는데 #{}을 이용한 부분은 파싱되어 파싱된 쿼리문을 재활용하여 효율적으로 사용할 수 있게 된다. 그리고 변수에 작은 따옴표( ' ) 가 자동으로 붙어 쿼리가 수행되기 때문에 '..