def generate_sql(text): """ 从SQL文本、MyBatis3 Mapper XML file文件中解析出sql 列表 :param text: :return: [{"sql_id": key, "sql": soar.compress(value)}] """ # 尝试XML解析 try: mapper, xml_raw_text = mybatis_mapper2sql.create_mapper( xml_raw_text=text) statements = mybatis_mapper2sql.get_statement(mapper, result_type='list') rows = [] # 压缩SQL语句,方便展示 for statement in statements: for key, value in statement.items(): row = {"sql_id": key, "sql": value} rows.append(row) except xml.etree.ElementTree.ParseError: # 删除注释语句 text = sqlparse.format(text, strip_comments=True) statements = sqlparse.split(text) rows = [] num = 0 for statement in statements: num = num + 1 row = {"sql_id": num, "sql": statement} rows.append(row) return rows
def __init__(self): self.conn = cx_Oracle.connect('python/python@localhost:1521/xe') self.cs = self.conn.cursor() self.mapper = mybatis_mapper2sql.create_mapper( xml='mybatis_survey.xml')[0]
def setUpClass(cls): cls.mapper, cls.xml_raw_text = mybatis_mapper2sql.create_mapper( xml=xml) print("============XML_RAW_TEXT============") print(cls.xml_raw_text)
def setMapper(self, xmlMapperFile): self._mapper, _ = mybatis_mapper2sql.create_mapper(xml=xmlMapperFile)
import mybatis_mapper2sql mapper, xml_raw_text = mybatis_mapper2sql.create_mapper( xml='mybatis_sample.xml') # statement = mybatis_mapper2sql.get_statement(mapper) # print(statement) statement = mybatis_mapper2sql.get_child_statement(mapper, "select") print(statement) statement = mybatis_mapper2sql.get_child_statement(mapper, "insert") print(statement) statement = mybatis_mapper2sql.get_child_statement(mapper, "update") print(statement) statement = mybatis_mapper2sql.get_child_statement(mapper, "delete") print(statement)
scheduler.add_listener(stock_scraping, EVENT_ALL) scheduler.add_listener(executed, EVENT_JOB_EXECUTED) # scheduler.start() return flask_app # flask app create app = create_app() # Bcrypt(암호알고리즘) bcrypt = Bcrypt(app) # MyBatis mapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml=cfg.MYBATIS_PATH) # # scheduler # scheduler = APScheduler() # scheduler.init_app(app) # scheduler.start() def get_flask_app(): return app def get_scheduler(): return app.apscheduler