일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Config
- scanner
- mac
- JSON
- Request
- 대전본식영상
- ViewModel
- c#
- EFCore
- 라도무스dvd
- error
- 에스가든스냅
- extjs
- React
- JavaScript
- lazy loading
- intellij
- 스냅잘찍음
- minimalAPI
- .net
- c#코딩의기술실전편
- dbContext
- Store
- LINQ
- extraParams
- vscode
- 코드프로그래머스
- ORM
- 상속
- 명시적외래키
- Today
- Total
ejyoo's 개발 노트
IBATIS에서 범위 쿼리 작성할 때 참고 본문
ibatis는 XML에 정의하다보니... 깜빡깜빡 하는게 있는데
부등호 (즉 < , > ) 를 기냥 쓰게 되면 오류가 난다. (태그에 존재하는 <tag> 꺽쇠랑 동일하기 때문에 파싱에러발생)
이때는 <![CDATA[ ]]> 로 감싸주면 된다
<select id="select" resultClass="DischargePointData" parameterClass="Map">
SELECT
seq as seq
, note as note
FROM
table
user_id = #userId#
<isNotEmpty prepend="AND" property="startYYYYMM" removeFirstPrepend="true">
<![CDATA[
reg_date >= str_to_date(concat('#startYYYYMM#','01000000'),'%Y%m%d%H%i%s')
]]>
</isNotEmpty>
</select>
참고로 <![CDATA[ ]]> 로 안감싸주고 <> 를 쓰게 되면
아래와 같은 오류가 난다.
java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:49)
at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)
at com.konantech.memetracker.ibatis.SqlMap.<clinit>(SqlMap.java:23)
at com.konantech.memetracker.action.ActionPaymentPoint.<clinit>(ActionPaymentPoint.java:68)
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:46)
... 3 more
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)
at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51)
... 4 more
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:40)
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$10.process(SqlMapConfigParser.java:270)
at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
... 8 more
Caused by: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157)
at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)
... 11 more
출처: https://tost.tistory.com/144 [정선생의 블로그]
'DB > Oracle Exception 처리' 카테고리의 다른 글
ORA-28001 : SYSTEM 계정 비밀번호 잊음 (0) | 2021.03.03 |
---|---|
ORA-12528, TNS:listener: all appropriate instances are blocking new connections (0) | 2021.03.03 |
ORA-12519, TNS:no appropriate service handler found (0) | 2021.03.03 |
ORA-01861: literal does not match format string (0) | 2021.03.03 |
ORA-01722: invalid number (0) | 2021.03.03 |