<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_mybatis_xml_sql_%ED%8C%8C%EC%8B%B1_%EB%B0%A9%EB%B2%95</id>
	<title>파이썬 mybatis xml sql 파싱 방법 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_mybatis_xml_sql_%ED%8C%8C%EC%8B%B1_%EB%B0%A9%EB%B2%95"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_mybatis_xml_sql_%ED%8C%8C%EC%8B%B1_%EB%B0%A9%EB%B2%95&amp;action=history"/>
	<updated>2026-04-05T16:23:04Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_mybatis_xml_sql_%ED%8C%8C%EC%8B%B1_%EB%B0%A9%EB%B2%95&amp;diff=1747&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: == 모듈 설치 == &lt;source lang=python&gt; pip install mybatis-mapper2sql &lt;/source&gt; == 사용법  == &lt;source lang=python&gt; import mybatis_mapper2sql # Parse Mybatis Mapper XML files mapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml=&#039;mybatis_mapper.xml&#039;) # Get All SQL Statements from Mapper statement = mybatis_mapper2sql.get_statement(mapper) # Get SQL Statement By SQLId statement = mybatis_mapper2sql.get_child_statement(mapper, sql_id) &lt;/source&gt;  === MyBatis Xml 파싱하...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=%ED%8C%8C%EC%9D%B4%EC%8D%AC_mybatis_xml_sql_%ED%8C%8C%EC%8B%B1_%EB%B0%A9%EB%B2%95&amp;diff=1747&amp;oldid=prev"/>
		<updated>2025-06-19T10:36:39Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == 모듈 설치 == &amp;lt;source lang=python&amp;gt; pip install mybatis-mapper2sql &amp;lt;/source&amp;gt; == 사용법  == &amp;lt;source lang=python&amp;gt; import mybatis_mapper2sql # Parse Mybatis Mapper XML files mapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml=&amp;#039;mybatis_mapper.xml&amp;#039;) # Get All SQL Statements from Mapper statement = mybatis_mapper2sql.get_statement(mapper) # Get SQL Statement By SQLId statement = mybatis_mapper2sql.get_child_statement(mapper, sql_id) &amp;lt;/source&amp;gt;  === MyBatis Xml 파싱하...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 모듈 설치 ==&lt;br /&gt;
&amp;lt;source lang=python&amp;gt;&lt;br /&gt;
pip install mybatis-mapper2sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== 사용법  ==&lt;br /&gt;
&amp;lt;source lang=python&amp;gt;&lt;br /&gt;
import mybatis_mapper2sql&lt;br /&gt;
# Parse Mybatis Mapper XML files&lt;br /&gt;
mapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml=&amp;#039;mybatis_mapper.xml&amp;#039;)&lt;br /&gt;
# Get All SQL Statements from Mapper&lt;br /&gt;
statement = mybatis_mapper2sql.get_statement(mapper)&lt;br /&gt;
# Get SQL Statement By SQLId&lt;br /&gt;
statement = mybatis_mapper2sql.get_child_statement(mapper, sql_id)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MyBatis Xml 파싱하여 오라클 디비에 입력 처리 ===&lt;br /&gt;
* mybatis_to_db.py&lt;br /&gt;
&amp;lt;source lang=python&amp;gt;&lt;br /&gt;
#-*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import cx_Oracle&lt;br /&gt;
import mybatis_mapper2sql&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
# 64bit Oracle Clinet 미설치시 사용&lt;br /&gt;
LOCATION = r&amp;quot;D:\oracle_inst_64\instantclient_21_10&amp;quot;&lt;br /&gt;
os.environ[&amp;quot;PATH&amp;quot;] = LOCATION + &amp;quot;;&amp;quot; + os.environ[&amp;quot;PATH&amp;quot;]&lt;br /&gt;
#os.environ[&amp;quot;NLS_LANG&amp;quot;]=&amp;quot;AMERICAN_AMERICA.AL32UTF8&amp;quot;&lt;br /&gt;
# D:\oracle_inst_64\instantclient_21_10&lt;br /&gt;
&lt;br /&gt;
mapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml=&amp;quot;d:\\python\\sql\\&amp;quot;+sys.argv[1]) # 처리할 파일을 1번째 파라미터로 받음. &lt;br /&gt;
# statement = mybatis_mapper2sql.get_statement(mapper, result_type=&amp;#039;raw&amp;#039;, reindent=True, strip_comments=True) # raw형태 파일로 처리 (파일로 저장 )&lt;br /&gt;
statement = mybatis_mapper2sql.get_statement(mapper, result_type=&amp;#039;list&amp;#039;, reindent=True, strip_comments=True)  # list형으로 리턴 (DB에 입력 처리 편리)&lt;br /&gt;
&lt;br /&gt;
con = cx_Oracle.connect(&amp;quot;COMMON&amp;quot;, &amp;quot;1234&amp;quot;, &amp;quot;111.222.333.444:49154/ORCLPDB1&amp;quot;, encoding=&amp;quot;UTF-8&amp;quot;)&lt;br /&gt;
cursor = con.cursor()&lt;br /&gt;
&lt;br /&gt;
# statement는 리스트 + 딕셔너리 형태로 구성됨 [{키:값},{키:값}] =&amp;gt; 디비에 입력하기위해서 튜플형태로 변경 list(zip(d.keys(), d.values())&lt;br /&gt;
&lt;br /&gt;
for d in statement:&lt;br /&gt;
    cursor.executemany(&amp;quot;INSERT INTO URP_XML_PARSE (FILE_NM,SQL_ID,SQL_TEXT) values (&amp;#039;&amp;quot;+sys.argv[1]+&amp;quot;&amp;#039;,:1,:2)&amp;quot;,list(zip(d.keys(), d.values())))&lt;br /&gt;
con.commit()    &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* 실행 방법&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;python mybatis_to_db.py test.xml &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MyBatis Xml 파싱하여 파일로 출력 처리 ===&lt;br /&gt;
[[category:python]]&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>