[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4124":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":18,"lastSyncTime":38,"discoverSource":39},4124,"spring-boot-api-project-seed","lihengming\u002Fspring-boot-api-project-seed","lihengming",":seedling::rocket:一个基于Spring Boot & MyBatis的种子项目，用于快速构建中小型API、RESTful API项目~","",null,"Java",9706,3735,438,93,0,1,2,7,3,41,false,"master",true,[26,27,28,29,30,31,32,33,34],"api","java","mapper","mybatis","mybatis-pagehelper","rest","restful","seed","spring-boot","2026-06-12 02:00:59","![Licence](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicence-none-green.svg)\n[![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Flihengming\u002Fspring-boot-api-project-seed.svg)](https:\u002F\u002Fgithub.com\u002Flihengming\u002Fspring-boot-api-project-seed\u002Freleases)\n## 简介\nSpring Boot API Project Seed 是一个基于Spring Boot & MyBatis的种子项目，用于快速构建中小型API、RESTful API项目，该种子项目已经有过多个真实项目的实践，稳定、简单、快速，使我们摆脱那些重复劳动，专注于业务代码的编写，减少加班。下面是一个简单的使用演示，看如何基于本项目在短短几十秒钟内实现一套简单的API，并运行提供服务。\n\n[![请选择超清](https:\u002F\u002Fraw.githubusercontent.com\u002Flihengming\u002Fjava-codes\u002Fmaster\u002Fshared-resources\u002Fgithub-images\u002Fproject-example-youku.png)](http:\u002F\u002Fv.youku.com\u002Fv_show\u002Fid_XMjg1NjYwNDgxNg==.html?spm=a2h3j.8428770.3416059.1)\n## 特征&提供\n- 最佳实践的项目结构、配置文件、精简的POM（[查看项目结构图](https:\u002F\u002Fgithub.com\u002Flihengming\u002Fjava-codes\u002Fblob\u002Fmaster\u002Fshared-resources\u002Fgithub-images\u002Fproject-struct.png)）\n- 统一响应结果封装及生成工具\n- 统一异常处理\n- 简单的接口签名认证\n- 常用基础方法抽象封装\n- 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控\n- 使用FastJsonHttpMessageConverter，提高JSON序列化速度\n- 集成MyBatis、通用Mapper插件、PageHelper分页插件，实现单表业务零SQL\n- 提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller等基础代码，其中Controller模板默认提供POST和RESTful两套，根据需求在```CodeGenerator.genController(tableName)```方法中自己选择，默认使用POST模板。代码模板可根据实际项目的需求来扩展，由于每个公司业务都不太一样，所以只提供了一些比较基础、通用的模板，**主要是提供一个思路**来减少重复代码的编写，我在实际项目的使用中，其实根据公司业务的抽象编写了大量的模板。另外，使用模板也有助于保持团队代码风格的统一\n- 另有彩蛋，待你探索\n \n## 快速开始\n1. 克隆项目\n2. 对```test```包内的代码生成器```CodeGenerator```进行配置，主要是JDBC，因为要根据表名来生成代码\n3. 如果只是想根据上面的演示来亲自试试的话可以使用```test resources```目录下的```demo-user.sql```，否则忽略该步\n3. 输入表名，运行```CodeGenerator.main()```方法，生成基础代码（可能需要刷新项目目录才会出来）\n4. 根据业务在基础代码上进行扩展\n5. 对开发环境配置文件```application-dev.properties```进行配置，启动项目，Have Fun！\n \n## 开发建议\n- 表名，建议使用小写，多个单词使用下划线拼接\n- Model内成员变量建议与表字段数量对应，如需扩展成员变量（比如连表查询）建议创建DTO，否则需在扩展的成员变量上加```@Transient```注解，详情见[通用Mapper插件文档说明](https:\u002F\u002Fmapperhelper.github.io\u002Fdocs\u002F2.use\u002F)\n- 建议业务失败直接使用```ServiceException(\"message\")```抛出，由统一异常处理器来封装业务失败的响应结果，比如```throw new ServiceException(\"该手机号已被注册\")```，会直接被封装为```{\"code\":400,\"message\":\"该手机号已被注册\"}```返回，无需自己处理，尽情抛出\n- 需要工具类的话建议先从```apache-commons-*```和```guava```中找，实在没有再造轮子或引入类库，尽量精简项目\n- 开发规范建议遵循阿里巴巴Java开发手册（[最新版下载](https:\u002F\u002Fgithub.com\u002Falibaba\u002Fp3c))\n- 建议在公司内部使用[ShowDoc](https:\u002F\u002Fgithub.com\u002Fstar7th\u002Fshowdoc)、[SpringFox-Swagger2](https:\u002F\u002Fgithub.com\u002Fspringfox\u002Fspringfox) 、[RAP](https:\u002F\u002Fgithub.com\u002Fthx\u002FRAP)等开源项目来编写、管理API文档\n \n## 技术选型&文档\n- Spring Boot（[查看Spring Boot学习&使用指南](http:\u002F\u002Fwww.jianshu.com\u002Fp\u002F1a9fd8936bd8)）\n- MyBatis（[查看官方中文文档](http:\u002F\u002Fwww.mybatis.org\u002Fmybatis-3\u002Fzh\u002Findex.html)）\n- MyBatisb通用Mapper插件（[查看官方中文文档](https:\u002F\u002Fmapperhelper.github.io\u002Fdocs\u002F)）\n- MyBatis PageHelper分页插件（[查看官方中文文档](https:\u002F\u002Fpagehelper.github.io\u002F)）\n- Druid Spring Boot Starter（[查看官方中文文档](https:\u002F\u002Fgithub.com\u002Falibaba\u002Fdruid\u002Ftree\u002Fmaster\u002Fdruid-spring-boot-starter\u002F)）\n- Fastjson（[查看官方中文文档](https:\u002F\u002Fgithub.com\u002FAlibaba\u002Ffastjson\u002Fwiki\u002F%E9%A6%96%E9%A1%B5)）\n- 其他略\n\n## License\n无，纯粹开源分享，感谢大家 [Star](https:\u002F\u002Fgithub.com\u002Flihengming\u002Fspring-boot-api-project-seed\u002Fstargazers) & [Fork](https:\u002F\u002Fgithub.com\u002Flihengming\u002Fspring-boot-api-project-seed\u002Fnetwork\u002Fmembers) 的支持。\n","Spring Boot API Project Seed 是一个基于 Spring Boot 和 MyBatis 的种子项目，旨在帮助开发者快速搭建中小型 API 和 RESTful 服务。该项目提供了一套最佳实践的项目结构和配置文件，包括统一响应结果封装、异常处理、接口签名认证等功能，并集成了 Druid 数据库连接池与监控以及 FastJsonHttpMessageConverter 以提高 JSON 序列化速度。此外，通过集成 MyBatis 及其插件（如通用 Mapper 和 PageHelper），实现了单表业务零 SQL 的开发体验。代码生成器可根据表名自动生成基础代码，减少重复劳动，使团队能够更专注于业务逻辑的实现。此项目适用于需要快速构建稳定且易于维护的后端服务场景，特别适合中小型企业或初创团队使用。","2026-06-11 02:58:35","top_language"]