以下是一个使用Spring Boot控制改变数据库的案例,包含了Entity、Controller、Service等文件以及配置文件:
- 创建数据库表:
CREATE TABLE user (
uid INT PRIMARY KEY AUTO_INCREMENT,
user_name VARCHAR(50),
dept_name VARCHAR(50)
);
- 创建实体类 User.java:
package com.example.demo.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int uid;
private String userName;
private String deptName;
// getters and setters
}
- 创建 Repository 接口 UserRepository.java:
package com.example.demo.repository;
import com.example.demo.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Integer> {
}
- 创建 Service 接口 UserService.java:
package com.example.demo.service;
import com.example.demo.entity.User;
public interface UserService {
User getUserById(int id);
void saveUser(User user);
void deleteUser(int id);
}
- 实现 Service 接口 UserServiceImpl.java:
package com.example.demo.service.impl;
import com.example.demo.entity.User;
import com.example.demo.repository.UserRepository;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserRepository userRepository;
@Override
public User getUserById(int id) {
return userRepository.findById(id).orElse(null);
}
@Override
public void saveUser(User user) {
userRepository.save(user);
}
@Override
public void deleteUser(int id) {
userRepository.deleteById(id);
}
}
- 创建 Controller 类 UserController.java:
package com.example.demo.controller;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUserById(@PathVariable int id) {
return userService.getUserById(id);
}
@PostMapping("/")
public void saveUser(@RequestBody User user) {
userService.saveUser(user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable int id) {
userService.deleteUser(id);
}
}
- 创建配置文件 application.properties(或者 application.yml):
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.show-sql=true
请根据实际情况修改数据库连接信息和表名。以上代码是一个简单的示例,你可以根据需要进行修改和扩展。记得将相应的依赖添加到项目的 pom.xml 文件中,并且确保数据库驱动已经正确配置。然后,你可以运行 Spring Boot 应用程序并测试接口。
内容由零声教学AI助手提供,问题来源于学员提问




