{"adoption": {"forks": 239, "observed_at": "2026-08-28T04:05:58.852893+00:00", "stars": 1954}, "canonical_url": "https://ross.abutalabs.com/products/mybatiscodehelper-pro", "card": {"archived": false, "artifact_type": "plugin", "description": null, "domain": ["developer-tools", "databases", "backend", "web-development"], "enriched": true, "function": ["editor", "developer-tools", "database", "orm"], "health_score": 79, "homepage": "http://brucege.com/doc", "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["gejun123456/MyBatisCodeHelper-Pro"], "name": "gejun123456/MyBatisCodeHelper-Pro", "platform": ["editor-plugin", "jvm"], "pushed_at": "2026-08-14T07:13:26+00:00", "repo": "gejun123456/MyBatisCodeHelper-Pro", "stars": 1954, "tags": ["mybatis", "intellij-plugin", "sql-completion", "crud-generation", "code-assist", "jetbrains", "code-generation"], "topics": ["mybatis-plugin", "mybatis-generator", "mybatis", "intellij-plugin"], "urls": [], "use_cases": ["generate mybatis crud code from database tables", "generate sql from mapper method names", "autocomplete and validate sql in mybatis xml", "navigate between mybatis mapper interface and xml", "generate create table sql from java class", "test mybatis sql without starting spring"], "what_it_is": "MyBatisCodeHelper-Pro is an IntelliJ IDEA plugin providing comprehensive MyBatis support, including SQL generation from method names, CRUD code generation from databases, SQL correctness detection, and navigation between mapper interfaces and XML files. It offers both free features and a paid activation tier for advanced capabilities like OGNL autocompletion and database-driven code generation.", "when_to_avoid": ["you don't use MyBatis or IntelliJ IDEA", "you need the advanced features but don't want to pay for activation", "you prefer AI-assisted code generation over deterministic plugin tooling"], "when_to_choose": ["you write MyBatis mappers daily in IntelliJ and want SQL completion, validation, and one-click CRUD generation", "you need reliable navigation, refactoring, and error detection between mapper interfaces and XML files", "you want to regenerate code after schema changes without overwriting custom code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mybatiscodehelper-pro", "repo": "gejun123456/MyBatisCodeHelper-Pro", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:58.852893+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:06:32.718395+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d32c3f1c593bc1c016dfc9f50701f9e4cf87371b9145cfd0e93243fe69258f77", "fetched_at": "2026-08-28T04:05:58.852893+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gejun123456/MyBatisCodeHelper-Pro"}, {"content_hash": "640cdca0af02fd879dac7d2bd3e7a7bf49e878c1cbb8f3af3641bd851d3869e7", "fetched_at": "2026-08-29T10:46:36.366715+00:00", "kind": "homepage", "missing": false, "url": "http://brucege.com/doc"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3342, "days_push": 19, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}