SpringBoot-JPA实现增删改查

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 "失败";
        }
    }
}

项目结构

在这里插入图片描述


结语:

学无止境

猜你喜欢

转载自blog.csdn.net/Beyonod/article/details/115863316
今日推荐