首页 > 编程语言 > 详细

Spring boot6

时间:2020-08-14 02:25:41      阅读:42      评论:0      收藏:0      [点我收藏+]

Spring boot整合Spring Data JPA

JPA Hibernate框架就是JPA的实现

Spring Data JPA不是对JPA规范的具体实现,本身是一个抽象层

  • 配置pom.xml

????1?<?xml version="1.0" encoding="UTF-8"?>

????2?<project xmlns="http://maven.apache.org/POM/4.0.0"

????3???????????????????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

????4???????????????????xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

????5?????????<modelVersion>4.0.0</modelVersion>

????6?

????7?????????<groupId>com.wiggin</groupId>

????8?????????<artifactId>springbootdatajap</artifactId>

????9?????????<version>1.0-SNAPSHOT</version>

???10?????????<parent>

???11?????????????????<groupId>org.springframework.boot</groupId>

???12?????????????????<artifactId>spring-boot-parent</artifactId>

???13?????????????????<version>2.1.5.RELEASE</version>

???14?????????</parent>

???15?

???16?????????<dependencies>

???17?????????????????<dependency>

???18?????????????????????????<groupId>org.springframework.boot</groupId>

???19?????????????????????????<artifactId>spring-boot-starter-data-jpa</artifactId>

???20?????????????????</dependency>

???21?????????????????<dependency>

???22?????????????????????????<groupId>mysql</groupId>

???23?????????????????????????<artifactId>mysql-connector-java</artifactId>

???24?????????????????</dependency>

???25?????????????????<dependency>

???26?????????????????????????<groupId>org.projectlombok</groupId>

???27?????????????????????????<artifactId>lombok</artifactId>

???28?????????????????</dependency>

???29?????????</dependencies>

???30?

???31?</project>

  • 创建实体类Student

????1?package com.wiggin.entity;

????2?

????3?import lombok.Data;

????4?

????5?import javax.persistence.*;

????6?import java.util.Date;

????7?

????8?// 创建表不用关联数据库

????9?@Data

???10?@Entity

???11?public class Student {

???12?????????// 主键

???13?????????@Id

???14?????????// 自增

???15?????????@GeneratedValue(strategy = GenerationType.IDENTITY)

???16?????????private Long id;

???17?????????@Column

???18?????????private String name;

???19?????????@Column

???20?????????private int score;

???21?????????@Column

???22?????????private Date birthday;

???23?}

  • 创建接口StudentRepository

????1?package com.wiggin.repository;

????2?

????3?????????????????import com.wiggin.entity.Student;

????4?????????????????import org.springframework.data.jpa.repository.JpaRepository;

????5?

????6?// 直接继承JpaRepository<Student,Long> ,传入实体类和主键类型,不需要要写功能代码

????7?public interface StudentRepository extends JpaRepository<Student,Long> {

????8?????????// 自定义方法要符合方法命名规定,同样也不需要实体化

????9?????????public Student getById(Long id);

???10

  • 创建StudentHandler注入StudentRepository

????1?package com.wiggin.repository;

????2?

????3?import com.wiggin.entity.Student;

????4?import org.springframework.data.jpa.repository.JpaRepository;

????5?

????6?// 直接继承JpaRepository<St

????1?package com.wiggin.controller;

????2?

????3?

????4?import com.wiggin.entity.Student;

????5?import com.wiggin.repository.StudentRepository;

????6?import org.springframework.beans.factory.annotation.Autowired;

????7?import org.springframework.stereotype.Controller;

????8?import org.springframework.web.bind.annotation.*;

????9?

???10?import java.util.List;

???11?

???12?

???13?@RestController

???14?public class StudentHandler {

???15?????????@Autowired

???16?????????private StudentRepository studentRepository;

???17?

???18?????????@GetMapping("/findAll")

???19?????????public List<Student> findAll(){

???20?????????????????return studentRepository.findAll();

???21?????????}

???22?????????@GetMapping("/findById/{id}")

???23?????????public Student findById(@PathVariable("id") Long id){

???24?????????????????return studentRepository.getById(id);

???25?????????}

???26?????????@PostMapping("/save")

???27?????????public void save(@RequestBody Student student){

???28?????????????????studentRepository.save(student);

???29?????????}

???30?????????@PutMapping("/update")

???31?????????public void update(@RequestBody Student student){

???32?????????????????studentRepository.save(student);

???33?????????}

???34?????????@DeleteMapping("/deleteById/{id}")

???35?????????public void deleteById(@PathVariable("id") Long id){

???36?????????????????studentRepository.deleteById(id);

???37?????????}

???38?

???39?}

??

  • 配置application.yml

????1?spring:

????2?????datasource:

????3?????????url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

????4?????????username: root

????5?????????password: 123456

????6?????????driver-class-name: com.mysql.cj.jdbc.Driver

????7?????jpa:

????8?????????show-sql: true # 输出SQL

????9?????????properties:

???10?????????????hibernate:

???11?????????????????format_sql: true # 格式化输出SQL

  • 创建启动类Application

????1?package com.wiggin;

????2?

????3?import org.springframework.boot.SpringApplication;

????4?import org.springframework.boot.autoconfigure.SpringBootApplication;

????5?

????6?@SpringBootApplication

????7?public class Application {

????8?????????public static void main(String[] args) {

????9?????????????????SpringApplication.run(Application.class,args);

???10?????????}

???11?}

?

Spring boot6

原文:https://www.cnblogs.com/wigginess/p/13499408.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!