没有什么比官方教程更好的了 官方链接
那就做个简单的 demo 方便以后查询 创建项目,添加依赖 Web | Spring Web SQL | Spring Data JDBC SQL | H2 Database 创建数据类 @Table("TASKS") data class Task(val name: String, @Id var id: String? = null) 创建 Controller 层 @RestController @RequestMapping("/") class TaskController(private val service: TaskService) { @GetMapping fun listTasks() = ResponseEntity.ok(service.findTasks()) @GetMapping("/{id}") fun getTaskById(@PathVariable id: String) = service.findTaskById(id).toResponseEntity() @DeleteMapping("/{id}") fun delete(@PathVariable id: String) = service.deleteTaskById(id) @PostMapping fun post(@RequestBody task: Task): ResponseEntity<Task> { val savedTask = service.save(task) return ResponseEntity.created(URI("/${savedTask.id}")).body(savedTask) } private fun Task?.toResponseEntity() = this?.let { ResponseEntity.ok(it) } ?: ResponseEntity.notFound().build() } 创建数据库接口 interface TaskRepository : CrudRepository<Task, String> 实现Service层 @Service class TaskService(private val db: TaskRepository) { fun findTasks(): List<Task> = db.findAll().toList() fun findTaskById(id: String): Task? = db.findByIdOrNull(id) fun save(task: Task): Task = db.save(task) fun deleteTaskById(id: String) = db.deleteById(id) } 创建数据库初始化脚本 在 src/main/resources/schema.sql 创建: CREATE TABLE IF NOT EXISTS tasks ( id VARCHAR(60) DEFAULT RANDOM_UUID() PRIMARY KEY, name VARCHAR NOT NULL ); 配置application.properties spring.application.name=demo spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url=jdbc:h2:file:./data/testdb spring.datasource.username=name spring.datasource.password=password spring.sql.init.schema-locations=classpath:schema.sql spring.sql.init.mode=always 这里的 name 是项目名称,第三行的数据库 URL 有两种选择:
...