springboot整合JPA


spring-data-jpa:就是和數據庫打交道,進行數據訪問的。

一:步驟:

  1.新建一個maven項目,新建一個數據庫(數據庫中可以沒有表)

  2.導入相關依賴

  3.編寫application.yml文件,添加數用來連接數據庫的相關配置

  4.編寫實體類,建立和數據庫的映射關系

  5.編寫repository接口,該接口繼承JpaRepository

  6.編寫controller層,進行數據庫操作

 

二:詳細過程如下(附代碼):

  1.新建一個maven項目,新建一個數據庫(我這里沒有創建數據表),項目目錄結構和數據庫結構如下

  2.導入相關依賴,包括web,JDBC,MySql Driver,Spring Data JPA

 1 <dependencies>
 2         <dependency>
 3             <groupId>org.springframework.boot</groupId>
 4             <artifactId>spring-boot-starter-data-jpa</artifactId>
 5         </dependency>
 6         <dependency>
 7             <groupId>org.springframework.boot</groupId>
 8             <artifactId>spring-boot-starter-jdbc</artifactId>
 9         </dependency>
10         <dependency>
11             <groupId>org.springframework.boot</groupId>
12             <artifactId>spring-boot-starter-web</artifactId>
13         </dependency>
14 
15         <dependency>
16             <groupId>mysql</groupId>
17             <artifactId>mysql-connector-java</artifactId>
18             <scope>runtime</scope>
19         </dependency>
20         <dependency>
21             <groupId>org.springframework.boot</groupId>
22             <artifactId>spring-boot-starter-test</artifactId>
23             <scope>test</scope>
24         </dependency>
25 </dependencies>

  3.在resources文件夾下新建一個application.yml文件,添加數用來連接數據庫的相關配置,我這里默認數據源是Hikaricp,如果想更改默認數據源,參考鏈接(27條消息) SpringBoot重點詳解--配置數據源_pengjunlee的博客-CSDN博客_springboot配置數據源

 1 spring:
 2   datasource:
 3     url: jdbc:mysql://127.0.0.1:3306/jpa
 4     username: root
 5     password: 123456
 6     driver-class-name: com.mysql.jdbc.Driver
 7     type: com.alibaba.druid.pool.DruidDataSource
 8   #數據庫的操作配置
 9   jpa:
10     hibernate:
11       #更新或者創建數據表
12       ddl-auto: update
13     #如果有sql語句操作會在控制台顯示相應的數據庫操作信息
14     show-sql: true

  4.在entity文件夾新建一個User.java類文件,添加和數據庫映射關系的代碼

 1 package com.xiaoma.springboot.entity;
 2 
 3 import javax.persistence.*;
 4 
 5 @Entity     //告訴JPA這是一個實體類
 6 @Table(name = "tbl_user")   //建立和數據表的映射關系
 7 public class User {
 8     @Id     //表示這個屬性為主鍵
 9     @GeneratedValue(strategy = GenerationType.IDENTITY)     //表示這個屬性為自增主鍵
10     private Integer id;
11 
12     @Column
13     private String username;
14     private String password;
15 
16     public Integer getId() {
17         return id;
18     }
19 
20     public void setId(Integer id) {
21         this.id = id;
22     }
23 
24     public String getUsername() {
25         return username;
26     }
27 
28     public void setUsername(String username) {
29         this.username = username;
30     }
31 
32     public String getPassword() {
33         return password;
34     }
35 
36     public void setPassword(String password) {
37         this.password = password;
38     }
39 }

  5.編寫repository接口,這個接口繼承JpaRepository,現在運行一下程序控制台會輸出如下信息。

1 package com.xiaoma.springboot.repository;
2 
3 import com.xiaoma.springboot.entity.User;
4 import org.springframework.data.jpa.repository.JpaRepository;
5 
6 //第一個參數是實體類類名,第二個參數是主鍵類型
7 public interface UserRepository extends JpaRepository<User,Integer> {
8 }

  6.編寫Controller層,操作數據庫,這里實現插入與查詢功能

 1 package com.xiaoma.springboot.controller;
 2 
 3 import com.xiaoma.springboot.entity.User;
 4 import com.xiaoma.springboot.repository.UserRepository;
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.web.bind.annotation.GetMapping;
 7 import org.springframework.web.bind.annotation.PathVariable;
 8 import org.springframework.web.bind.annotation.RestController;
 9 
10 @RestController
11 public class UserController {
12     @Autowired
13     UserRepository userRepository;
14 
15     //通過getUser方法去查詢數據庫中的數據,根據id去查詢
16     @GetMapping("/user/{id}")
17     public User getUser(@PathVariable("id") Integer id){
18         //因為我們的UserRepository繼承了Repository類
19         //而Repository類就已經給我們實現了很多進行數據庫操作的方法,所以直接去調用這里的方法就行了
20         User user=userRepository.findById(id).orElse(null);
21         return user;
22     }
23 
24     //實現插入功能
25     @GetMapping("/user")
26     public User insertUser(User user){
27         //調用Repository類中的save方法來插入數據
28         User save = userRepository.save(user);
29         return save;
30     }
31 }

  7.運行程序,打開瀏覽器輸入localhost:8080/user?id=1&&username=xiaoma&&password=123后數據庫就會新增一條記錄,輸入localhost:8080/user/1就會將剛剛插入的數據顯示出來

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM