본문 바로가기
728x90
반응형

DB/Mybatis5

[MyBatis] 오류 Cause: java.lang.NumberFormatException: For input string: "N" Cause : java.lang.NumberFormatException: For input string : "N" Mybatis에서 if문을 사용했는데 문자를 숫자로 인식했을 경우 발생되는 에러 이것을 이렇게 변경해주면 문제가 해결된다. 혹은 사용 가능 * 쌍따옴표와 따옴표의 순서 변경 * 2022. 5. 2.
XML에서 부등호 관련 에러 SAXParseException XML파일 에서는 으로 감싸준다. 변경전 select member_bno, user_id, reg_date, viewcnt, title, rcnt, content, recommend from ( select recommend, member_bno, user_id, reg_date, viewcnt, title, rcnt, content from member_board order by recommend desc ) where rownum 2022. 4. 27.
Mybatis 에서 #{} 과 ${}의 차이 회사에 취직하고나서, 쿼리문을 작성하는데 이상한 점을 발견했다. 바로 Mybatis 를 이용해 XML에 쿼리문을 작성하는데, 파라메터 작성법이 그동안 내가 해왔던 것과는 다른 것이었다. 아래는 그동안 내가 써왔던 방식이다. SELECT USER_NM , USER_ID FROM USER WHERE USER_ID = ${USER_ID} AND USER_PWD = ${USER_PWD} 그리고 이건 회사에서 사용하는 방식이다. SELECT USER_NM , USER_ID FROM USER WHERE USER_ID = #{USER_ID} AND USER_PWD = #{USER_PWD} 무슨 차이가 있는지 보이는가? 바로 ${} 가 #{} 로 바뀌었다! 왜? 왜 $을 안쓰고 #을 쓸까? 너무 궁금해서 찾아보았다. .. 2021. 8. 18.
MyBatis - 동적 쿼리 사용하기 1. 기본적인 동적 쿼리 SELECT * FROM KH.EMPLOYEE WHERE ${searchType} = #{keyword} map 형식으로 검색 타입과 키워드를 받아와서 처리했다. WHERE 절에서 검색 타입은 ${ } 로 전달하며 키워드는 #{ } 로 전달한다. ${ } 는 파라미터 값이 그대로 들어가며 #{ } 는 파라미터 값이 ' ' 으로 감싸진다. 달라지는 검색 조건에 대응할 수 있다. 2. if문을 이용한 동적 쿼리 SELECT * FROM EMPLOYEE WHERE 1=1 AND NAME LIKE '%' || #{keyword} || '%' AND GENDER = #{gender} if문을 이용한 동적 쿼리 이다. if문을 이용하는 방법은 EL 처럼 test 속성에 조건을 넣어주면 된다.. 2021. 5. 10.
Mybatis란? (장점, 특징, 컴포넌트) Mybatis Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다. SQL을 별도의 파일로 분리해서 관리하게 해준다. Hibernate나 JAP(Java Persistence Api)처럼 새로운 DB프로그래밍 패러다임을 익혀야하는 부담 없이 SQL을 그대로 이용하면서 JDBC코드 작성의 불편함도 제거해주고 도메인 객체나 VO객체를 중심으로 개발이 가능하다는 장점이 있다. Mybatis의 특징 쉬운 접근성과 코드의 간결함 JDBC의 모든 기능을 Mybatis가 대부분 제공한다. 복잡한 JDBC코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다. 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다. SQ.. 2021. 5. 10.
728x90
반응형