def test_all_wrong_result(self): try: mybatis_mapper2sql.get_statement(self.mapper, result_type='sql', strip_comments=True) except RuntimeError as e: self.assertEqual(str(e), 'Invalid value for sql_type: raw|list') else: self.fail('IOError not raised')
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 test_all_result(self): statement = mybatis_mapper2sql.get_statement(self.mapper, result_type='list', strip_comments=True) print(statement)