MySQl数据库中新建数据库表Students,把StuNum作为主键,其他列名包括序号Id、学号StuNum、姓名StuName、住址Address,使用Spring boot+JPA实现jpaRepository对以上数据库表做增删查改等常规操作
时间: 2023-06-08 20:08:51 浏览: 115
好的,您的问题是如何使用Spring Boot JPA实现增删查改等常规操作。以下是针对您提供的数据库表的一个基本示例:
首先,您需要定义一个名为Student的实体类,包含对应的属性和构造函数、getter和setter方法。例如:
```
@Entity
@Table(name = "Students")
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "StuNum", nullable = false, unique = true)
private int stuNum;
@Column(name = "Id", nullable = false)
private int id;
@Column(name = "StuName", nullable = false)
private String stuName;
@Column(name = "Address", nullable = false)
private String address;
public Student(int id, int stuNum, String stuName, String address) {
this.id = id;
this.stuNum = stuNum;
this.stuName = stuName;
this.address = address;
}
// getters and setters
}
```
其中,@Entity注解表示这是一个实体类,@Table注解表示对应的数据库表名。@Id注解表示该属性是表中的主键,@GeneratedValue注解表示该主键使用自动增长的方式生成,@Column注解表示对应的列名。
接下来,您需要定义一个名为StudentRepository的接口,继承自JpaRepository。例如:
```
@Repository
public interface StudentRepository extends JpaRepository<Student, Integer> {
}
```
其中,@Repository注解表示这是一个Spring组件,@JpaRepository注解表示这是一个继承自JpaRepository的接口,其中Student对应的是实体类,Integer对应的是主键的类型。
最后,您可以在需要使用增删查改等操作的地方注入StudentRepository,使用对应的方法进行操作。例如:
```
@RestController
public class StudentController {
@Autowired
private StudentRepository studentRepository;
// 添加学生
@PostMapping("/students")
public Student addStudent(@RequestBody Student student) {
return studentRepository.save(student);
}
// 根据学号删除学生
@DeleteMapping("/students/{stuNum}")
public void deleteStudent(@PathVariable int stuNum) {
studentRepository.deleteById(stuNum);
}
// 根据学号查询学生
@GetMapping("/students/{stuNum}")
public Student getStudent(@PathVariable int stuNum) {
return studentRepository.findById(stuNum).orElse(null);
}
// 修改学生信息
@PutMapping("/students")
public Student updateStudent(@RequestBody Student student) {
return studentRepository.save(student);
}
}
```
其中,@RestController注解表示这是一个可以对外提供RESTful接口的组件,@Autowired注解表示这是一个需要注入的Spring组件。通过调用StudentRepository的对应方法,实现了增删查改等常规操作。
这仅仅是一个基本的示例,您可以根据具体需求进行扩展和修改。
阅读全文