# m_jdbc_t1 **Repository Path**: e1980/m_jdbc_t1 ## Basic Information - **Project Name**: m_jdbc_t1 - **Description**: micronaut, data jdbc - **Primary Language**: Java - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-03-01 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Micronaut Actor CRUD 项目 ## 项目简介 这是一个基于 Micronaut 4.10.9 + MySQL 8.4.7 + Micronaut Data JDBC 的 RESTful API 项目,实现了对 sakila 数据库中 actor 表的 CRUD 操作。 ## 技术栈 - **框架**: Micronaut 4.10.9 - **数据库**: MySQL 8.4.7 - **数据访问**: Micronaut Data JDBC - **JDK**: GraalVM 25.0.2 - **构建工具**: Maven ## 项目配置 ### 数据库连接 ```properties 数据库: sakila 主机: 192.168.8.27 端口: 3306 用户名: dbct 密码: pwd1234 ``` ### 服务端口 - 默认使用随机端口(-1) - 启动时会自动分配可用端口 ## 如何运行 ### 方式一:使用 VS Code 运行(推荐) 1. 打开 VS Code 2. 按 `Ctrl+Shift+P` 打开命令面板 3. 输入 `Run Task` 选择任务: - `mvn: package` - 打包项目 - `mvn: run` - 使用 Maven 运行 - `java: run jar` - 运行 JAR 文件 4. 或按 `F5` 启动调试 ### 方式二:使用 Maven 命令 ```bash # 打包项目 mvn clean package # 运行项目 mvn mn:run # 或使用 JAR 运行 java -jar target/micronaut-actor-crud-1.0-SNAPSHOT.jar ``` ### 方式三:使用终端 ```bash # 构建 mvn clean package # 运行 java -jar target/micronaut-actor-crud-1.0-SNAPSHOT.jar ``` ## API 接口 ### 基础信息 - 基础 URL: `http://localhost:{随机端口}/api/actors` - 内容类型: `application/json` ### 接口列表 | 方法 | 路径 | 描述 | 示例 | |------|------|------|------| | GET | `/api/actors` | 获取所有演员 | `curl http://localhost:8080/api/actors` | | GET | `/api/actors/{id}` | 根据 ID 获取演员 | `curl http://localhost:8080/api/actors/1` | | POST | `/api/actors` | 创建新演员 | `curl -X POST -H "Content-Type: application/json" -d '{"firstName":"Tom","lastName":"Hanks"}' http://localhost:8080/api/actors` | | PUT | `/api/actors/{id}` | 更新演员 | `curl -X PUT -H "Content-Type: application/json" -d '{"firstName":"Thomas","lastName":"Hanks"}' http://localhost:8080/api/actors/1` | | DELETE | `/api/actors/{id}` | 删除演员 | `curl -X DELETE http://localhost:8080/api/actors/1` | | GET | `/api/actors/search?keyword={keyword}` | 搜索演员 | `curl http://localhost:8080/api/actors/search?keyword=Tom` | | GET | `/api/actors/count` | 获取演员总数 | `curl http://localhost:8080/api/actors/count` | ## 项目结构 ``` m_jdbc_t1/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── example/ │ │ │ ├── Application.java # 主程序入口 │ │ │ ├── controller/ │ │ │ │ └── ActorController.java # REST 控制器 │ │ │ ├── entity/ │ │ │ │ └── Actor.java # 实体类 │ │ │ └── repository/ │ │ │ └── ActorRepository.java # 数据访问层 │ │ └── resources/ │ │ ├── application.properties # 应用配置 │ │ └── logback.xml # 日志配置 │ └── test/ │ └── java/ │ └── com/ │ └── example/ │ └── ActorControllerTest.java # 测试类 ├── target/ # 构建输出 ├── pom.xml # Maven 配置 └── .vscode/ # VS Code 配置 ├── settings.json ├── launch.json └── tasks.json ``` ## 特性 - ✅ ID 自动递增 - ✅ last_update 自动更新 - ✅ RESTful API 设计 - ✅ 完整的 CRUD 操作 - ✅ 搜索功能 - ✅ 单元测试 - ✅ 连接池管理 ## 注意事项 1. **不要直接使用 `javac` 编译** - 项目依赖 Micronaut 框架,必须使用 Maven 构建 2. **确保 MySQL 服务可用** - 数据库必须运行在 192.168.8.27:3306 3. **使用 Maven 运行** - 所有构建和运行操作都通过 Maven 完成 ## 常见问题 ### Q: 编译错误 "找不到 io.micronaut.runtime" A: 不要直接使用 `javac` 编译,使用 `mvn clean compile` ### Q: 如何停止服务? A: 在终端中按 `Ctrl+C` 即可停止 ### Q: 端口冲突怎么办? A: 服务使用随机端口,每次启动会自动分配新端口 ## 测试 ```bash # 运行所有测试 mvn test ``` 测试结果: - 测试数量: 11 - 通过率: 100%