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
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210419140321488.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JleW9ub2Q=,size_16,color_FFFFFF,t_70
二、引入spring data jpa 依赖
<!-- Spring Boot JPA 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
三、配置application.properties文件
## 数据源配置
#设置端口号
server.port=8080
#驱动类
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#设置数据源
#地址url
spring.datasource.url=jdbc:mysql://localhost:3306/jpadb?characterEncoding=utf-8
#用户名
spring.datasource.username=root
#密码
spring.datasource.password=123456
#配置SpringDataJPA
# mysql 5
# spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
#打印sql ture 就是显示 false不显示sql
spring.jpa.show-sql=true
四、创建实体(POJO)
例: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 "失败";
}
}
}
项目结构
结语: