代码生成常见问题
表导入失败
表不存在
现象:导入时搜索不到目标表。
排查:
- 确认数据库连接配置正确
- 确认表确实存在于当前数据源
- 检查表名大小写(MySQL 在 Linux 下区分大小写)
- 确认当前用户对该表有查询权限
表无主键
现象:导入时报错 "Table has no primary key"。
解决:为表添加主键后再导入。代码生成器要求表必须有主键字段。
生成代码编译错误
实体类字段类型不匹配
现象:编译报错类型转换异常。
排查:
- 检查字段配置中的 Java 类型映射
- 确认
decimal类型映射为BigDecimal而非Double - 确认
tinyint(1)映射为Integer而非Boolean
包路径错误
现象:编译报错找不到类。
解决:
- 在生成配置中确认包路径正确(如
com.mdframe.forge.system) - 确认文件放置在对应 plugin 模块的
src/main/java/下 - 确认 Mapper XML 放置在
src/main/resources/mapper/下
缺少基础类依赖
现象:编译报错找不到 RespInfo、BaseEntity 等类。
解决:确认模块的 pom.xml 已依赖 forge-starter-core 和 forge-starter-orm。
前端组件不匹配
DictSelect 找不到字典
现象:前端下拉框为空。
排查:
- 确认字段配置中填写的字典类型在字典管理中存在
- 确认字典数据已启用
- 确认
useDict调用的字典编码与配置一致
列表页空白
现象:列表页打开后无数据。
排查:
- 检查 API 路径是否与 Controller 的
@RequestMapping一致 - 确认菜单权限已正确分配
- 检查浏览器控制台是否有 404 或 403 错误
- 确认分页参数为
pageNum和pageSize
表单提交报 415 错误
现象:提交表单返回 415 Unsupported Media Type。
解决:确认 Controller 方法的 @RequestBody 注解和前端请求头 Content-Type: application/json 配合使用。
SQL 脚本执行失败
现象:执行 menu.sql 报错。
排查:
- 确认
tenant_id值为1 - 检查菜单
parent_id是否引用了不存在的父菜单 - 确认权限标识不与现有权限重复
- 脚本需具备
NOT EXISTS防重复保护
生成代码缺少字段
现象:生成的代码中缺少某些字段。
解决:
- 检查字段配置中该字段是否设置为「隐藏」
- 重新导入表以获取最新的表结构
- 确认数据库中该字段确实存在
