{"id":37027588,"url":"https://github.com/yogurt-dev/yogurt","last_synced_at":"2026-01-14T03:16:56.913Z","repository":{"id":37281705,"uuid":"50902186","full_name":"yogurt-dev/yogurt","owner":"yogurt-dev","description":"基于SpringBoot+JOOQ的最佳实践","archived":false,"fork":false,"pushed_at":"2022-06-21T00:51:59.000Z","size":8853,"stargazers_count":72,"open_issues_count":6,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-07T02:19:31.437Z","etag":null,"topics":["jooq","spring-boot-2"],"latest_commit_sha":null,"homepage":"","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/yogurt-dev.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":"2016-02-02T07:21:41.000Z","updated_at":"2023-12-13T03:12:05.000Z","dependencies_parsed_at":"2022-08-18T05:26:01.242Z","dependency_job_id":null,"html_url":"https://github.com/yogurt-dev/yogurt","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yogurt-dev/yogurt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogurt-dev%2Fyogurt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogurt-dev%2Fyogurt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogurt-dev%2Fyogurt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogurt-dev%2Fyogurt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yogurt-dev","download_url":"https://codeload.github.com/yogurt-dev/yogurt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yogurt-dev%2Fyogurt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["jooq","spring-boot-2"],"created_at":"2026-01-14T03:16:56.326Z","updated_at":"2026-01-14T03:16:56.905Z","avatar_url":"https://github.com/yogurt-dev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"构想 \n====\n\n搭建一套遵循规范、技术先进、减少工作量的开发框架。  \n它就像Restfull一样，并不是什么新的框架，而是整合现有技术的最佳实践。\n\n特点 \n====\n- **很规范**：严格遵循《阿里巴巴 Java 开发手册》，以及各种最佳实践，eg:restful命名最佳实践、请求结果使用HTTP状态位。\n- **无侵入**：只是运用和扩展各种技术，不修改其源码。\n- **很清爽**：入门毫无压力，因为我们并不想自成体系，只提供了必要的实现。\n- **很高效**：再也不用写mybatis的xml了，在java文件和xml之前跳来跳去，字段对比来对比去的，一切都在java类中完成，想想都爽。\n- **通用CRUD**：已经为您准备好，不用写代码。\n- **代码生成器**：集成了JOOQ的代码生成器，Controller、Service、DAO以及属性对应的Enum一并生成。\n- **支持联合主键**：如果用到了mysql分区功能，有可能会用到联合主键。\n\n涉及标准及技术\n=============\n《阿里巴巴 Java 开发手册》  \n[Restful命名规则](https://www.restapitutorial.com/lessons/restfulresourcenaming.html)   \n[JOOQ](http://www.jooq.org)（SpringBoot2开始将其纳入体系，开发效率优于mybatis）  \nLombok  \nGuava  \nLogback  \nFlyway  \n\n表结构语句\n=========\n1.以下是每个表的基础字段，由yogurt负责维护，无需额外编码\n```sql\nALTER TABLE `表名`  \nADD COLUMN `creator_id`  bigint NOT NULL DEFAULT 0 COMMENT '创建人ID',  \nADD COLUMN `gmt_create`  datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `creator_id`,  \nADD COLUMN `modifier_id`  bigint NULL COMMENT '修改人ID' AFTER `gmt_create`,  \nADD COLUMN `gmt_modified`  datetime NULL COMMENT '修改时间' AFTER `modifier_id`,  \nADD COLUMN `is_deleted`  tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标识' AFTER `gmt_modified`;  \n```\n\n2.枚举类型注释格式  \n 渠道类型(ALI:某宝,JD:东哥)  \n\n代码生成器\n=========\n直接使用JOOQ的配置即可，yogurt无需额外配置，具体示例：\n[jooqConfig.xml](https://github.com/yogurt-dev/yogurt/blob/master/codegen/src/main/resources/jooqConfig.xml)\n\n示例\n=========\n参见sample的[README.md](https://github.com/yogurt-dev/yogurt/blob/master/sample/README.md)  \n\n技术支持\n=========\nQQ：442952891 \n如果你觉得哪里可以更好，请联系我！  \n\n版权 | License\n==============\n[Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogurt-dev%2Fyogurt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyogurt-dev%2Fyogurt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyogurt-dev%2Fyogurt/lists"}