springboot整合JPA過程解析
這篇文章主要介紹了springboot整合JPA過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下


接下來具體看看是怎么弄的。
1、新建一個springboot項目,選擇web、data jdbc、data jpa、mysql driver。
2、建立以下目錄及結構:

pom.xml
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.gong</groupId>
<artifactId>springbootjpa</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springbootjpa</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
<scope>runtime</scope>
</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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3、在application.yml中配置連接數(shù)據庫和jpa相關配置
spring: datasource: url: jdbc:mysql://192.168.124.22:3306/jpa username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver jpa: hibernate: #更新或者創(chuàng)建數(shù)據表結構 ddl-auto: update #控制臺顯示SQL show-sql: true
4、新建一個entity包,新建實體類User.java
package com.gong.springbootjpa.entity;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import javax.persistence.*;
//使用JPA注解配置映射關系
@Entity //告訴JPA這是一個實體類(和數(shù)據表映射的類)
@Table(name = "tbl_user") //@Table來指定和哪個數(shù)據表對應;如果省略默認表名就是user;
@JsonIgnoreProperties(value = {"hibernateLazyInitializer","handler"})
public class User {
@Id //這是一個主鍵
@GeneratedValue(strategy = GenerationType.IDENTITY)//自增主鍵
private Integer id;
@Column(name = "last_name",length = 50) //這是和數(shù)據表對應的一個列
private String lastName;
@Column //省略默認列名就是屬性名
private String email;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
5、新建一個repository包,新建一個UserRepository.java
package com.gong.springbootjpa.repository;
import com.gong.springbootjpa.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
//繼承JpaRepository來完成對數(shù)據庫的操作,在JdbcRepository中指定實體類,數(shù)據庫中主鍵對應的java類型
public interface UserRepository extends JpaRepository<User,Integer> {
}
6、新建一個controller包,新建一個UserController.java
經過上述配置之后,我們就可以直接利用UserRepository中的一些方法進行數(shù)據庫的操作啦,是不是很方便。
package com.gong.springbootjpa.controller;
import com.gong.springbootjpa.entity.User;
import com.gong.springbootjpa.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping("/user/{id}")
public User getUser(@PathVariable("id") Integer id){
User user = userRepository.getOne(id);
return user;
}
@GetMapping("/user")
public User insertUser(User user){
User save = userRepository.save(user);
return save;
}
}
7、啟動服務器
插入一條數(shù)據:

查詢一條數(shù)據:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Linux環(huán)境卸載Centos7自帶的OpenJDK和安裝JDK1.8圖文教程
CentOS系統(tǒng)是開發(fā)者常用的Linux操作系統(tǒng),安裝它時會默認安裝自帶的舊版本的OpenJDK,但在開發(fā)者平時開發(fā)Java項目時還是需要完整的JDK,這篇文章主要給大家介紹了關于Linux環(huán)境卸載Centos7自帶的OpenJDK和安裝JDK1.8的相關資料,需要的朋友可以參考下2024-07-07
Java中final,finally,finalize三個關鍵字的區(qū)別_動力節(jié)點Java學院整理
這篇文章給大家收集整理了有關java中final,finally,finalize三個關鍵字的區(qū)別介紹,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-04-04
mybatis實現(xiàn)動態(tài)升降序的問題小結
文章介紹了如何在MyBatis的XML文件中實現(xiàn)動態(tài)排序,使用$符號而不是#符號來引用變量,以避免SQL注入,同時,強調了在Java代碼中進行防注入處理的重要性,感興趣的朋友一起看看吧2025-02-02
SpringBoot+Redis使用AOP防止重復提交的實現(xiàn)
本文主要介紹了SpringBoot+Redis使用AOP防止重復提交的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
spring boot中interceptor攔截器未生效的解決
這篇文章主要介紹了spring boot中interceptor攔截器未生效的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Java實戰(zhàn)在線選課系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)一個在線選課系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11
Java的靜態(tài)方法Arrays.asList()使用指南
Arrays.asList() 是一個 Java 的靜態(tài)方法,它可以把一個數(shù)組或者多個參數(shù)轉換成一個 List 集合,這個方法可以作為數(shù)組和集合之間的橋梁,方便我們使用集合的一些方法和特性,本文將介紹 Arrays.asList() 的語法、應用場景、坑點和總結2023-09-09

