[Spring Boot] 整合JPA

  1. 添加依赖

pom.xml

<!-- Jpa -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Spring Boot 启动 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- Mysql -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>
<!-- Lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  1. yml配置文件
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    show-sql: true  #打印sql
    properties:
      hibernate:
        format_sql: true    #格式化sql
server:
  port: 8082
  1. 实体类关联数据库表

@Entity //关联数据库中的book表
@Data
//Book实体类
public class Book {
    /*
        @Data注解是lombok的注解,它会帮我们生成各种set、get方法
        @id是主键注解
        lombok插件要在idea里自己添加下载
    */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) //主键自增
    private Integer id;
    private String name;
    private String author;
}
  1. 创建BookRepository,继承JpaRepository

  1. 测试使用接口


  1. 测试成功可转到Controller中使用
    BookController
@RestController
@RequestMapping("/book")
public class BookHander {
    //自动注入BookRepository,该接口继承了JpaRepository<Book,Integer>,因此可以直接调用Jpa操作数据库的方法
    @Autowired
    private BookRepository bookRepository;

    //查询所有
    @GetMapping("/findAll")
    public List<Book> findAll(){
        //参数添加了排序规则,按照id排序
        return bookRepository.findAll(Sort.by(Sort.Direction.DESC, "id"));
        //return bookRepository.findAll();

    }

7、 访问


posted @ 2020-09-24 10:31  lodalo  阅读(108)  评论(2编辑  收藏  举报