赞
踩
从b站学习springcloud,现在进行总结,该总结除去了视频中出现的小错误,对有些易错的地方进行了提醒
b站链接:https://www.bilibili.com/video/av55993157
资料链接:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
提取码: 21ru
上一节链接:https://blog.csdn.net/qq_40893824/article/details/106861955
下一节链接:https://blog.csdn.net/qq_40893824/article/details/106870713
下面的内容总结:
JPA hibernate 框架是 JPA 的1个实现,是 无sql语句的 mybatis
类似上1节,新建工程 springmybatis2
1 在 pom 文件中加入代码:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.southwind</groupId> <artifactId>springmybatis2</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-parent</artifactId> <version>2.1.5.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> </dependencies> </project>
2 在 java中创包 com.southwind.entity,其内新建实体类 Student,加入代码:
package com.southwind.entity; import lombok.Data; import javax.persistence.*; import java.util.Date; @Data @Entity public class Student { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column private String name; @Column private double score; @Column private Date birthday; }
@Entity:映射 mysql 数据库中的表,语句用于 hibernate 的实体类
@Id:表示下面的数据类型是主键
@GeneratedValue(strategy = GenerationType.IDENTITY):自增
3 在 southwind 中创包 repository,其内创建接口 StudentRepository,加入代码:
第1次用 JpaRepository 要自动下载很久…
package com.southwind.repository;
import com.southwind.entity.Student;
import org.springframework.data.jpa.repository.JpaRepository;
@Repository
public interface StudentRepository extends JpaRepository<Student,Long> {
public Student getById(Long id);
}
代码就是这么简单!
getById 由 Jpa 自动实现!
4 在 southwind 中 创包 controller,其内创建控制类 StudentHandler,加入代码:
package com.southwind.controller; import com.southwind.entity.Student; import com.southwind.repository.StudentRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController public class StudentHandler { @Autowired private StudentRepository studentRepository; @PostMapping("/save") public Student save(@RequestBody Student student){ return studentRepository.save(student); } @PutMapping("/update") public Student update(@RequestBody Student student){ return studentRepository.save(student); } @DeleteMapping("/deleteById/{id}") public void deleteById(@PathVariable("id")long id){ studentRepository.deleteById(id); } @GetMapping("/findAll") public List<Student> findAll(){ return studentRepository.findAll(); } @GetMapping("/findById/{id}") public Student findById(@PathVariable("id")long id){ return studentRepository.getById(id); } }
5 resources中创建 application.yml
加入代码:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mbtest?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
show-sql: true
properties:
hibernate:
format_sql: true
6 在 southwind 中新建启动类 Application,加入代码:
package com.southwind;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
7 启动 Application,测试
7.1 增加数据 post → http://localhost:8080/save
添加成功!
7.2 修改数据 put → http://localhost:8080/update
修改成功!
7.3 删除数据 deleById → http://localhost:8080/deleteById/8
删除成功!
7.4 按号查找 get → http://localhost:8080/findById/7
查找成功!
上一节链接:https://blog.csdn.net/qq_40893824/article/details/106861955
下一节链接:https://blog.csdn.net/qq_40893824/article/details/106870713
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。