🎯 今日核心问题

  1. 让 AI 生成 CRUD 的正确姿势是什么?
  2. 如何保证生成的代码符合你的项目规范?

📖 精读提纲

【一】核心概念

CRUD 生成 = 需求描述 + 规范约束 + 代码验证。三者缺一,生成质量就会打折。很多人失望于 AI 生成的代码"不能用",根本原因是没说清楚约束条件。

【二】关键原理

一个好的 CRUD 生成 Prompt 必须包含:

【三】实战应用

完整 Prompt 示例:

请用以下技术栈生成商品管理模块的完整 CRUD 代码:
技术栈:Spring Boot 3.2 + MyBatis Plus 3.5 + MySQL

实体字段:
- id: Long, 主键, 自增
- name: String, 商品名称, 不能为空, 同一店铺内唯一
- price: BigDecimal, 价格, 必须大于0
- stock: Integer, 库存, 不能为负数
- categoryId: Long, 分类ID, 外键
- status: Integer, 状态(0下架/1上架), 默认1
- createTime: LocalDateTime, 创建时间, 自动填充

业务规则:
1. 新增时校验同店铺内商品名称唯一
2. 修改库存时不能直接设为负数,需要加减操作
3. 支持按分类、状态、名称模糊搜索,分页返回

请生成:
1. Product 实体类(含 @TableName、Lombok 注解)
2. ProductMapper 接口(含分页查询方法)
3. ProductService 接口 + ProductServiceImpl(含参数校验)
4. ProductController(统一返回 Result<T>,含 @Valid 注解)
5. ProductDTO(新增/修改用)和 ProductVO(查询返回用)
代码风格:异常统一抛出 BusinessException,不在 catch 里吞掉。

【四】常见误区


💡 今日金句

给 AI 的约束越精确,生成的代码越接近生产级别。模糊的需求只能得到模糊的代码。

✏️ 今日练习

选择你当前项目里需要新增的一个模块(或用练习模块),按上面的 Prompt 模板补全信息,让 AI 生成完整 CRUD,然后:

  1. 检查实体类字段和约束是否正确
  2. 检查 Service 层的业务规则有没有遗漏
  3. 让 AI 补充单测

🔖 明日预告

明天(第7天):让 AI 帮你补单元测试——掌握让 AI 生成高质量单测的技巧,而不只是 happy path。