Spring Boot +JPA 10分钟快速入门

                             Spring Boot +JPA 10分钟快速入门

                                                                     Spring Boot +JPA 10 minute quick start

学前基础

Spring Boot

MySQL

开发工具

IDEA +MySQL+Navicat+JDK

Spring Data JPA 使用步骤

  1. 建立实体类、和数据库表字段保持一致。
  2. 编写具体操作数据库类JpaRepository接口
  3. Controller类,展示数据。

 

步骤0:Spring Data JPA-工程环境准备

1、新建MySQL数据表

     安装mysql,新建数据库实例mysql

     新建User数据表,字段id(主键), name, tid,并插入两条记录

     本文使用是第三方视图话管理客户端Navicat进行数据库操作。

 

 

2、Spring Boot 工程搭建

      IDEA新建Spring Boot项目:File—New—Project

 

     注意:

             默认的Initializr Service URL下载不稳定,可选择Custom,配置为国内阿里资源地址:https://start.aliyun.com

 

 

 

给Group和Artifact命名,完成包名及Group+Artifact

 

下一步勾选组件

        开发工具Spring Boot DevTools

        Web:Spring Web

        数据库JDBC API、Spring Data JPA、Spring Data JDBC、MySQL Driver(本文选取的是mysql数据库)

 

 

 

Finish

 

给工程配置环境信息

        将src-main-resource下配置文件重命名修改为更常用的.yml,  并配置为如下

#端口,项目上下文根
server:
 
port: 8086
#  servlet:
#    context-path: /hotel

spring:
 
datasource:
   
driver-class-name: com.mysql.jdbc.Driver
   
url: jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
   
username: root
   
password: root
 
jpa:
   
database-platform: org.hibernate.dialect.MySQL5InnoDBDialect  # 在建表的时候,将默认的存储引擎切换为INnoDB 用的,可省略
   
show-sql: true  # 配置再日志中打印出执行到位sql语句信息
   
hibernate:      # jpa底层,不用管
#      ddl-auto: update  #配置指明再程序启动时要删除并且创建实体类对应的表

注意:

红色字体部分为自建的mysql数据库实例名,按照各自实际情况修改。

启动该程,运行无报错,浏览器打开http://localhost:8086/ 运行如下图,即搭建成功。

 

步骤1:Spring Data JPA-实体类

src-main-java下新建User实体类,并放进新建dao包中。

User实体类:

              Interger id

              String name

              private Integer tid;

注意

      实体类属性和步骤0-1数据库user数据表中的字段一一对应。

      Id上添加@Id注解,表明Id字段是主键,User实体类上添加@Entity实体类注解。

      通过IDEA快捷键Alt+Insert 添加实体类的有参/无参构造方法getter/setter方法

 

package com.example.dao;

  

  import javax.persistence.Entity;

  import org.springframework.data.annotation.Id;

  

  @Entity

  public class User {

  @Id

  private Integer id;

  private String name;

  private Integer tid;

  

  public User(Integer id) {

    this.id = id;

  }

  public User() {

  }

  public Integer getId() {

    return id;

  }

  public void setId(Integer id) {

    this.id = id;

  }

  public String getName() {

    return name;

  }

  public void setName(String name) {

    this.name = name;

  }

  public Integer getTid() {

    return tid;

  }

  public void setTid(Integer tid) {

    this.tid = tid;

  }

}

 

步骤2:Spring Data JPA-JpaRepository接口

src-main-java下新建JpaRepository接口,并放进新建包中。

 

package com.example.mapper;

  

  import com.example.dao.User;

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

  

  public interface UserRepository extends JpaRepository<User,Integer> {

}
注意:红色部分分别为实体类和其主键

 

步骤3:Spring Data JPA-Controller类

src-main-java下新建Controller接口,并放进新建包中。

package com.example.controller;

  
  import com.example.dao.User;

  import com.example.mapper.UserRepository;

  import java.util.List;

  import javax.annotation.Resource;

  import org.springframework.web.bind.annotation.RequestMapping;

  import org.springframework.web.bind.annotation.RestController;

  

  @RestController

  public class UserController {

  

  @Resource

  private UserRepository userRepository;

  

  @RequestMapping("/")

  public List<User> getUsers(){

    return userRepository.findAll();

  }

}

 

测试:

       运行Spring Boot 工程,在浏览器输入http://localhost:8086/ 网页显示User表中查询出记录的Json字符串,即正常

 

扩展:JPA-自定义SQL语句

       1、修改JpaRepository接口:{添加自定义数据操作方法(对应自定义语句)}

       2、修改Controller:{调用自定义的数据操作方法}

   

       通过自定义语句可以跨表或复杂逻辑操作。

package com.example.mapper;

  

  import com.example.dao.User;

  import java.util.List;

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

  import org.springframework.data.jpa.repository.Query;

  

  public interface UserRepository extends JpaRepository<User,Integer> {

  

  @Query(value = "select * from user",nativeQuery = true)

  List<User> getUserAll();

}
@RestController

  public class UserController {

  

  @Resource

  private UserRepository userRepository;

  

  @RequestMapping("/")

  public List<User> getUsers(){

    return userRepository.getUserAll ();

  }

}
红色为修改部分

 

 

 

 

视频 | 笔记 | 代码 https://gitee.com/ikunsdc/Spring-Data-JPA-quick-start

 

猜你喜欢

转载自blog.csdn.net/m0_55331605/article/details/113817420