{ "info": { "author": "hhyo", "author_email": "rtttte@qq.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "mybatis-mapper2sql\n==================\n[![Build Status](https://travis-ci.org/hhyo/mybatis-mapper2sql.svg?branch=master)](https://travis-ci.org/hhyo/mybatis-mapper2sql)\n[![codecov](https://codecov.io/gh/hhyo/mybatis-mapper2sql/branch/master/graph/badge.svg)](https://codecov.io/gh/hhyo/mybatis-mapper2sql)\n[![image](https://img.shields.io/pypi/v/mybatis-mapper2sql.svg)](https://pypi.org/project/mybatis-mapper2sql/)\n[![image](https://img.shields.io/pypi/l/mybatis-mapper2sql.svg)](https://github.com/hhyo/mybatis-mapper2sql/blob/master/LICENSE)\n[![image](https://img.shields.io/pypi/pyversions/mybatis-mapper2sql.svg)](https://pypi.org/project/mybatis-mapper2sql/)\n\nGenerate SQL Statements from the MyBatis3 Mapper XML file \n**Just for SQL Review https://github.com/hhyo/archery/issues/3**\n\nInstallation\n------------\n`pip install mybatis-mapper2sql`\n\n\nUsage\n-------------\n\n```python\nimport mybatis_mapper2sql\n# Parse Mybatis Mapper XML files\nmapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml='mybatis_mapper.xml')\n# Get All SQL Statements from Mapper\nstatement = mybatis_mapper2sql.get_statement(mapper)\n# Get SQL Statement By SQLId\nstatement = mybatis_mapper2sql.get_child_statement(mapper, sql_id)\n```\n\nExamples\n-------------\n> https://github.com/OldBlackJoe/mybatis-mapper\n\n#### test.xml ####\n```xml\n\n\n\n \n fruits\n \n \n WHERE\n category = #{category}\n \n \n FROM\n \n \n \n \n \n \n \n \n \n UPDATE\n fruits\n \n \n category = #{category},\n \n \n price = ${price},\n \n \n WHERE\n name = #{name}\n \n \n \n \n INSERT INTO\n fruits\n (\n name,\n category,\n price\n )\n VALUES\n \n (\n #{fruit.name},\n #{fruit.category},\n ${fruit.price}\n )\n \n \n \n\n```\n#### test.py ####\nGet All SQL Statements from Mapper\n\n```python\nimport mybatis_mapper2sql\nmapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml='test.xml')\nstatement = mybatis_mapper2sql.get_statement(mapper, result_type='raw', reindent=True, strip_comments=True)\nprint(statement)\n```\n\n```SQL\nSELECT name,\n category,\n price\nFROM fruits\nWHERE category = ?\n AND price > ?;\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE category = ?;\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE 1=1\n AND category = ?\n AND price = ?\n AND name = 'Fuji';\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE category = 'apple'\n OR price = 200;\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE category = 'apple'\n AND price = ?;\n\n\nUPDATE fruits\nSET category = ?,\n price = ?\nWHERE name = ?;\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE name = ?\n AND category = ?\n AND price = ?\n AND category = 'apple';\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE categy = 'apple'\n AND (name = ?\n OR name = ?);\n\n\nINSERT INTO fruits (name, category, price)\nVALUES (?,\n ?,\n ?) , (?,\n ?,\n ?);\n\n\nSELECT name,\n category,\n price\nFROM fruits\nWHERE name like ?;\n```\nGet SQL Statement By SQLId\n\n```python\nimport mybatis_mapper2sql\nmapper, xml_raw_text = mybatis_mapper2sql.create_mapper(xml='test.xml')\nstatement = mybatis_mapper2sql.get_child_statement(mapper,'testForeach', reindent=True, strip_comments=False)\nprint(statement)\n```\n\n\n```SQL\nSELECT name,\n category,\n price\nFROM fruits\nWHERE categy = 'apple'\n AND ( name = ? -- if(name == 'Jonathan' or name == 'Fuji')\nOR name = ? -- if(name == 'Jonathan' or name == 'Fuji')\n)\n```\n\nRunning the tests\n-----------------\n`python setup.py test`\n\nKnown Limitations\n-----------------\n- Doesn't support custom parameters\n- All sql parameters will be replace to '?'\n- All of the conditionals to apply in \\ \\ \\ \\ element \n\nAcknowledgments\n-----------------\nThis project was inspired by the following projects and websites:\n- https://github.com/OldBlackJoe/mybatis-mapper \n- http://www.mybatis.org/mybatis-3/dynamic-sql.html\n- http://www.enmoedu.com/article-205.html", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/hhyo/mybatis-mapper2sql", "keywords": "mybatis mapper2sql mybatis-mapper2sql", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "mybatis-mapper2sql", "package_url": "https://pypi.org/project/mybatis-mapper2sql/", "platform": "", "project_url": "https://pypi.org/project/mybatis-mapper2sql/", "project_urls": { "Homepage": "http://github.com/hhyo/mybatis-mapper2sql" }, "release_url": "https://pypi.org/project/mybatis-mapper2sql/0.1.9/", "requires_dist": null, "requires_python": "", "summary": "Generate SQL Statements from the MyBatis3 Mapper XML file", "version": "0.1.9" }, "last_serial": 5725944, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "9561a7ce17955fe70eac1fabcf36a91a", "sha256": "49f3749506de14aabf75f7993bae974eae0fc30428390cda09bf3dd2774cdd9b" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.2.tar.gz", "has_sig": false, "md5_digest": "9561a7ce17955fe70eac1fabcf36a91a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8112, "upload_time": "2019-01-27T10:52:12", "url": "https://files.pythonhosted.org/packages/1c/9c/0b71e9218601cd29647c5b7a28197542266d564d53a2aa3e5d99a3723083/mybatis-mapper2sql-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "15088bd90c86371d3e034a15d68ddc24", "sha256": "4d95f3e12c913ff2ec548f9940929da47c5f2aa062f167c0bd3885479055f3e5" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.3.tar.gz", "has_sig": false, "md5_digest": "15088bd90c86371d3e034a15d68ddc24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6926, "upload_time": "2019-01-28T14:38:36", "url": "https://files.pythonhosted.org/packages/ee/da/cd1292d95496e4c6d0d30ebe9a5a01d30127145683eb81f84679c752a974/mybatis-mapper2sql-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "52ade82d0a52ffabccd671420a2c8cf4", "sha256": "8bf4589e5c1c316f197df6226aea52f06ec989084be368b01dcbc83c1aa6b22a" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.4.tar.gz", "has_sig": false, "md5_digest": "52ade82d0a52ffabccd671420a2c8cf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8447, "upload_time": "2019-02-21T03:04:50", "url": "https://files.pythonhosted.org/packages/d8/4d/e2541e2afa6e6d3b57fd56d03f56fad84dbe8d033274965fc4e69c3f4a26/mybatis-mapper2sql-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "68fba8c7ec09328413d3f61e91abfdce", "sha256": "58edddf1274720e2e76fdeaaaf851505ea0ca0d4ffe68ec6ef7c025fddf332da" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.5.tar.gz", "has_sig": false, "md5_digest": "68fba8c7ec09328413d3f61e91abfdce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8448, "upload_time": "2019-04-01T09:13:27", "url": "https://files.pythonhosted.org/packages/5a/da/cf1e22b6463b67094c38db96c9bd9da477e8cbf34ba14cb594f30ae0a225/mybatis-mapper2sql-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "e2c32bd9c02ec8322ac6cb1013a133a1", "sha256": "fbffb978942a102b1b8c424bd3063b1baa346bfaee69fbae7b3bd3563326f709" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e2c32bd9c02ec8322ac6cb1013a133a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8451, "upload_time": "2019-04-01T09:24:28", "url": "https://files.pythonhosted.org/packages/66/c4/c0320abc977184c53645a3f5097af8ce6b7463306f30724789f0589bf6e4/mybatis-mapper2sql-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "17b5475d915723f408c9b9f8cfd5675a", "sha256": "07dd6dfc1618dcd8a58ff40d3bcfc4a2256867bbd9b7065de6a9108af88070c3" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.7.tar.gz", "has_sig": false, "md5_digest": "17b5475d915723f408c9b9f8cfd5675a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8452, "upload_time": "2019-04-01T09:59:12", "url": "https://files.pythonhosted.org/packages/d6/66/a24f16163d4d76d027835f202761bb80da164b786b872a706232fb96669b/mybatis-mapper2sql-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "8679e2a410a89bce4e4f26bd24368058", "sha256": "7f4ad9537f0646d40326aa4892b74bdffdc1962d588262b5275003b781da24ae" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.8.tar.gz", "has_sig": false, "md5_digest": "8679e2a410a89bce4e4f26bd24368058", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8578, "upload_time": "2019-05-05T03:21:36", "url": "https://files.pythonhosted.org/packages/8e/88/fe742bcd138f81bb5e2e4e2bdf6f79eb150d1a856bdf37f1fedc34b0d197/mybatis-mapper2sql-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "b8b65435f2fee1e747f0466f6e763af7", "sha256": "18e3c0fd69f49a90932c7133abf333905b53e0a5affdd1a811a6af35bf4b3396" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b8b65435f2fee1e747f0466f6e763af7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8723, "upload_time": "2019-08-25T03:58:27", "url": "https://files.pythonhosted.org/packages/da/22/015884abeea5e9c27e5b6c466d7a9a07f5a4b6fc117b74a75f65a8b02103/mybatis-mapper2sql-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b8b65435f2fee1e747f0466f6e763af7", "sha256": "18e3c0fd69f49a90932c7133abf333905b53e0a5affdd1a811a6af35bf4b3396" }, "downloads": -1, "filename": "mybatis-mapper2sql-0.1.9.tar.gz", "has_sig": false, "md5_digest": "b8b65435f2fee1e747f0466f6e763af7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8723, "upload_time": "2019-08-25T03:58:27", "url": "https://files.pythonhosted.org/packages/da/22/015884abeea5e9c27e5b6c466d7a9a07f5a4b6fc117b74a75f65a8b02103/mybatis-mapper2sql-0.1.9.tar.gz" } ] }