{"id":16422908,"url":"https://github.com/enilu/sbvue-coder","last_synced_at":"2025-10-26T22:31:39.457Z","repository":{"id":41043646,"uuid":"183613352","full_name":"enilu/sbvue-coder","owner":"enilu","description":"guns-lite代码生成工具","archived":false,"fork":false,"pushed_at":"2022-06-21T01:05:36.000Z","size":181,"stargazers_count":3,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T00:51:08.132Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enilu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-26T11:01:22.000Z","updated_at":"2019-10-11T01:21:00.000Z","dependencies_parsed_at":"2022-09-20T21:04:07.457Z","dependency_job_id":null,"html_url":"https://github.com/enilu/sbvue-coder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enilu%2Fsbvue-coder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enilu%2Fsbvue-coder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enilu%2Fsbvue-coder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enilu%2Fsbvue-coder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enilu","download_url":"https://codeload.github.com/enilu/sbvue-coder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238408438,"owners_count":19467094,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T07:38:08.539Z","updated_at":"2025-10-26T22:31:34.185Z","avatar_url":"https://github.com/enilu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# web-flash 代码生成工具\n\n## 使用方法\n\n- 准备工作\n```shell\n\n-- 克隆本项目\ngit clone https://github.com/enilu/sbvue-coder.git\n\n-- 安装到本地仓库\ncd sbvue-coder\nmvn install\n\n--在web-flash的flash-core的pom.xml文件中添加依赖：web-flash/flash-core/pom.xml\n\n\u003cdependency\u003e\n    \u003cgroupId\u003ecn.enilu\u003c/groupId\u003e\n    \u003cartifactId\u003esbvue-coder\u003c/artifactId\u003e\n    \u003cversion\u003e1.1\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n- 在Intellij IDEA中新建一个Run Config，如下图所示\n![run config](doc/run_config.jpg)\n    - 上图三个配置分别为\n        - 1，运行的代码生成主类\n        - 2，代码生成参数,详见下面说明\n        - 3，在哪个模块中执行代码生成：guns-entity，因为代码生成是通过读取guns-entity中的实体类的注解实现，所以这里选择guns-entity\n\n- 新建配置文件：flash-core/src/main/resources/code/code.json,配置文件内容如下，下面内容指定了生成的相关代码分别放在哪个模块下，考虑到有的同学可能会更改项目名和模块名，增加该配置，开发人员可以自行配置模块名\n```json\n{\n  \"codeConfig\": {\n    \"type\": \"cn.enilu.sbvue.code.CodeConfig\",\n    \"fields\": {\n      entityModel: \"flash-core\",\n      daoModel: \"flash-core\",\n      serviceModel: \"flash-core\",\n      controllerModel: \"flash-api\",\n      viewModel: \"flash-vue-admin\"\n    }\n  }\n}\n```   \n\n## 代码生成参数\n执行生成的时候，在Program arguments配置为：-h 运行后将会输出下面参数帮助提示\n\n```shell\nusage: Generator [options] [all|entity|service|controller|view]\n -f,--force               force generate file even if file exists\n -h,--help                show help message\n -i,--include \u003carg\u003e       include table pattern\n -module,--module \u003carg\u003e   current module name\n -p,--package \u003carg\u003e       base package name,default:cn.enilu.guns\n -u,--base-uri \u003carg\u003e      base uri prefix, default is /\n -x,--exclude \u003carg\u003e       exclude table pattern\n```   \n\n比如在Program arguments配置 -mudule test 将会根据guns-entity/src/main/java/cn/enilu/guns/bean/entity/test/目录下所有的java类生成其CRUD相关代码\n\n如果程序运行参数更改为 -mudule test -i t_test_boy 将会根据上述目录下的Boy实体生成其相关CRUD代码，注意这里-i 后面的参数值是实体中配置的表名称，而不是实体名本身。\n\n测试实体Boy内容如下\n```java\npackage cn.enilu.guns.bean.entity.test;\nimport cn.enilu.guns.bean.entity.BaseEntity;\nimport lombok.Data;\nimport org.hibernate.annotations.Table;\nimport javax.persistence.Column;\nimport javax.persistence.Entity;\n\n@Entity(name=\"t_test_boy\")\n@Table(appliesTo = \"t_test_boy\",comment = \"男孩\")\n@Data\npublic class Boy extends BaseEntity {\n    @Column(columnDefinition = \"VARCHAR(32) COMMENT '姓名'\")\n    private String name;\n    @Column(columnDefinition = \"INT COMMENT '年龄'\")\n    private Integer age;\n    @Column(columnDefinition = \"VARCHAR(12) COMMENT '生日'\")\n    private String birthday;\n    @Column(name = \"has_girl_friend\",columnDefinition = \"TINYINT COMMENT '是否有女朋友'\")\n    private Boolean hasGirFriend;\n}\n```\n注意如果要根据实体生成代码,实体中的@Table注解要配置为@org.hibernate.annotations.Table而不是能配置为：@javax.persistence.Table,因为前者可以配置注释comment\n\n以Boy实体为例,执行代码生成后将会生成如下文件：\n![run code_add](doc/code_add.jpg)\n\n代码生成后，在guns-admin-vuejs的路由配置文件中guns-admin-vuejs/src/store/modules/permission.js，增加如下红框内容：\n\n![run router](doc/router.jpg)\n\n启动guns-api和guns-admin-vuejs,配置和菜单和角色权限后就可以访问刚刚生成的代码功能了\n![run code_result](doc/code_result.jpg)\n\n\n        \n        \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenilu%2Fsbvue-coder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenilu%2Fsbvue-coder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenilu%2Fsbvue-coder/lists"}