SpringBoot-springboot data jpa实现增删改查
开发工具:IDEA
运行环境:JDK1.8, MySQL5.7,Tomcat8.5
使用技术:SpringBoot+spring data jpa
步骤
数据库student表sql
create table student(
id int PRIMARY key auto_increment,
name VARCHAR(100),
age int
)
一、新建项目
勾选依赖:lombok、spring data jpa、spring web、mysql driver

例:Student类
package com.sh.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import javax.persistence.*;
@Entity
@Table(name = "student")
@Data //lombok 自动生成getter\setter方法
public class Student {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY) //设置主键自增
private Integer id;
private String name;
private String age;
}
五、编写dao接口
在 com.sh下创建repository包并创建StudentRepository接口
继承 JpaRepository<T,D> T:实体类,D:主键类型
public interface StudentRepository extends JpaRepository<Student, Integer>{
//JpaRepository<实体类, 实体类的主键类型> }
六、编写控制层
在 com.shcontroller 下创建 StudentController 类
package com.sh.controller;
import com.sh.entity.Student;
import com.sh.repository.StudentRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Optional;
@RestController
public class StudentController {
@Autowired
private StudentRepository studentRepository;
/*查询*/
@GetMapping("/select")
public List<Student> getAll(){
List<Student> getAll = studentRepository.findAll();
return getAll;
}
/*添加*/
@PostMapping("/insert")
public Student insert(Student student){
Student add = studentRepository.save(student);
return add;
}
/*修改*/
@PutMapping("/update")
public Student update(Student student){
Student update = studentRepository.save(student);
return update;
}
/*删除*/
@DeleteMapping("/delete")
public String delete(Integer id){
try {
studentRepository.deleteById(id);
return "成功";
}catch (Exception e){
return "失败";
}
}
}
项目结构
结语: