spring boot學習第五篇:spring boot與JPA結合

1、準備表,創建表語句如下

CREATE TABLE `girl` (`id` int(11) NOT NULL AUTO_INCREMENT,`cup_Size` varchar(100) COLLATE utf8mb4_bin DEFAULT NULL,`age` int(11) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

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.6.4</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.hmblogs</groupId><artifactId>backend</artifactId><version>0.0.1-SNAPSHOT</version><name>backend</name><description>backend</description><properties><java.version>8</java.version><druid.version>1.2.8</druid.version></properties><dependencies><!-- druid數據源驅動 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></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.28</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

3、GirlController.java控制層代碼,如下?

package com.hmblogs.backend.controller;import com.hmblogs.backend.dao.GirlRep;
import com.hmblogs.backend.entity.Girl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
public class GirlController {@Autowiredprivate GirlRep girlRep;/*** 查詢所有女生列表* @return*/@GetMapping(value = "/girls")public List<Girl> getGirlList(){return girlRep.findAll();}/*** 添加一個女生* @param cupSize* @param age* @return*/@RequestMapping(value = "/girls",method = RequestMethod.POST)public Girl addGirl(@RequestParam("cupSize") String cupSize,@RequestParam("age") Integer age){Girl girl = new Girl();girl.setAge(age);girl.setCupSize(cupSize);return girlRep.save(girl);}}

4、dao層代碼如下,

package com.hmblogs.backend.dao;import com.hmblogs.backend.entity.Girl;
import org.springframework.data.jpa.repository.JpaRepository;//其中第二個參數為Id的類型
public interface GirlRep extends JpaRepository<Girl,Integer> {
}

5、entity類代碼如下

package com.hmblogs.backend.entity;import lombok.Data;import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;@Entity
@Data
public class Girl {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id;private String cupSize;private Integer age;}

6、啟動類代碼如下

package com.hmblogs.backend;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class BackendApplication {public static void main(String[] args) {SpringApplication.run(BackendApplication.class, args);}}

7、application.yml代碼如下

server:port: 8080servlet.context-path: /backendspring:datasource:druid:db-type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=falseusername: ${DB_USER:root}password: ${DB_PWD:123456}

9、啟動成功,并且貼出代碼結構

10、調試接口

10.1調試get接口獲取所有girl

http://localhost:8080/backend/girls

10.2調試post添加girl接口

http://localhost:8080/backend/girls?cupSize=A22&age=18

?添加成功。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/214162.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/214162.shtml
英文地址,請注明出處:http://en.pswp.cn/news/214162.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言-鏈表_基礎

鏈表-基礎 1. 數組 1.1 靜態數組 例子:int nums[5] {0};struct person ps[5]; 缺點:1,無法修改地址2,無法動態定義長度3,占用內存過大或過小4,增刪速度慢 優點數組的內存是連續開辟的,所以讀取速度快1.2 動態數組 例子:int *nums (int *) calloc(5,sizeof(int));struct p…

Vmware突然無法獲取IP(二)

一 測試環境 宿主機&#xff1a; window10Vmware 17 proUbuntu 18.04虛擬機中 二 問題 之前虛擬機可以正常使用。過程中&#xff0c;安裝了docker&#xff08;不確定是否和這個有關系&#xff09;第二天開啟虛擬機時&#xff0c;發現網口為down的狀態。將網口up后&#xff0…

python第三方庫——openpyxl

Bokeh是一個Python庫&#xff0c;用于對Excel 2010 xlsx/xlsm/xltx/xltm文件進行讀寫操作。 官網對該工具的介紹為&#xff1a; openpyxl is a Python library to read/write Excel 2010 xlsx/xlsm/xltx/xltm files.It was born from lack of existing library to read/write…

使用Java實現漢諾塔問題

文章目錄 漢諾塔問題 今天和大家來看看漢諾塔問題&#xff0c;這也是一個經典的算法 漢諾塔問題 分治算法經典問題&#xff1a;漢諾塔問題 漢諾塔的傳說 漢諾塔&#xff1a;漢諾塔&#xff08;又稱河內塔&#xff09;問題是源于印度一個古老傳說的益智玩具。大梵天創造世界的…

Git 克隆子目錄

背景 有時候&#xff0c;一個倉庫太大&#xff08;包含很多個工程&#xff09;&#xff0c;下載費時&#xff0c;又占電腦的空間。 如何只下載其中一個工程&#xff08;子目錄&#xff09;呢&#xff1f; 稀疏檢出&#xff08;Spare Checkout&#xff09; git 的 Spare Chec…

Java項目-瑞吉外賣Day5

視線新增套餐功能&#xff1a; 創建SetmealDish&#xff0c;SetmealDto類&#xff0c;與相關的mapper&#xff0c;service&#xff0c;serviceImpl&#xff0c;controller類。 Setmeal表示套餐&#xff0c;SetmealDish表示套餐對應的菜品。 交互過程&#xff1a; 前端請求&a…

TCP 和 UDP 區別? 2、TCP/IP 協議涉及哪幾層架構? 3、描述下 TCP 連接 4 次揮手的過程?為什么要 4 次揮手?

文章目錄 1、TCP 和 UDP 區別&#xff1f;2、TCP/IP 協議涉及哪幾層架構&#xff1f;3、描述下 TCP 連接 4 次揮手的過程&#xff1f;為什么要 4 次揮手&#xff1f;4、計算機插上電源操作系統做了什么&#xff1f;5、Linux 操作系統設備文件有哪些&#xff1f; 1、TCP 和 UDP …

RE2文本匹配調優實戰

引言 在RE2文本匹配實戰的最后&#xff0c;博主說過會結合詞向量以及其他技巧來對效果進行調優&#xff0c;本篇文章對整個過程進行詳細記錄。其他文本匹配系列實戰后續也會進行類似的調優&#xff0c;方法是一樣的&#xff0c;不再贅述。 本文所用到的詞向量可以在Gensim訓練…

2023年度盤點:智能汽車、自動駕駛、車聯網必讀書單

【文末送書】今天推薦幾本自動駕駛領域優質書籍 前言 2023年&#xff0c;智能駕駛和新能源汽車行業仍然有著肉眼可見的新進展。自動駕駛技術繼續嘗試從輔助駕駛向自動駕駛的過渡&#xff0c;更重要的是相關技術成本的下降。根據《全球電動汽車展望2023》等行業報告&#xff0c…

進程、容器與虛擬機的區別

進程、容器與虛擬機 參考&#xff1a;關于進程、容器與虛擬機的區別&#xff0c;你想知道的都在這&#xff01; 進程、容器與虛擬機的結構圖 進程 介紹 進程是一個正在運行的程序&#xff0c;它是一個個可執行文件的實例。當一個可執行文件從硬盤加載到內存中的時候&#xf…

如何用CHAT寫方案?

問CHAT&#xff1a;幫我寫一份航空無動力樂園的可執行方案 CHAT回復&#xff1a; 方案一&#xff1a;概念及地點篩選 航空無動力樂園是指以航空運動為主題&#xff0c;利用自然地形與風力進行滑翔、跳傘等無動力航空運動的戶外休閑娛樂樂園。鑒于此&#xff0c;首需要確定樂園…

Shiro 框架中如何更新Redis的超時登錄時間?

在Shiro框架中&#xff0c;可以通過實現SessionDAO接口來將會話信息保存到Redis中&#xff0c;并且可以通過實現SessionValidationScheduler接口來定期檢查會話是否過期。因此&#xff0c;要更新Redis中的超時登錄時間&#xff0c;可以按照以下步驟進行操作&#xff1a; 實現Se…

基于SpringBoot+Vue會員制醫療預約服務管理信息系統(Java畢業設計)

點擊咨詢源碼 大家好&#xff0c;我是DeBug&#xff0c;很高興你能來閱讀&#xff01;作為一名熱愛編程的程序員&#xff0c;我希望通過這些教學筆記與大家分享我的編程經驗和知識。在這里&#xff0c;我將會結合實際項目經驗&#xff0c;分享編程技巧、最佳實踐以及解決問題的…

RT-Thread 工程創建(1)

方式一&#xff0c; 利用已經有的bsp進行創建 距離BearPi IOT Std 板 1. 下載 RT-Thread 官方 Env工具a. 下載 [Env 工具下載](https://www.rt-thread.org/download.html#download-rt-thread-env-tool) &#xff0c; 并解壓縮b. 將env注冊到系統中, 這樣就在右鍵菜單中出現&am…

PHP案例:探究MySQL應用開發喜好的網絡調查

文章目錄 一、知識準備(一)數據庫與表的創建(二)錄入調查選項(三)創建問卷頁面(四)處理投票數據(五)顯示調查結果二、實現步驟(一)創建數據庫與表(二)錄入若干調查選項(三)創建問卷頁面(四)創建調查結果頁面(五)體驗運行結果(六)查看最終生成的HTML代碼很…

Java - 線程間的通信方式

線程通信的方式 線程中通信是指多個線程之間通過某種機制進行協調和交互 線程通信主要可以分為三種方式&#xff0c;分別為共享內存、消息傳遞和管道流。每種方式有不同的方法來實現 共享內存&#xff1a;線程之間共享程序的公共狀態&#xff0c;線程之間通過讀-寫內存中的公…

前端知識筆記(四十五)———前端開發與后端開發有什么區別

前端開發和后端開發是Web開發中的兩個關鍵領域&#xff0c;它們負責不同的任務和功能。下面是前端開發和后端開發之間的主要區別&#xff1a; 前端開發&#xff1a; 用戶界面&#xff1a;前端開發主要關注用戶界面的開發&#xff0c;包括網頁的布局、樣式、交互等方面。前端技…

Android集成科大訊飛語音識別與語音喚醒簡易封裝

目錄 一、語音喚醒部分 1、首先在科大訊飛官網注冊開發者賬號 2、配置喚醒詞然后下載sdk 3、選擇對應功能下載 4、語音喚醒lib包全部復制到工程目錄下 5、把語音喚醒詞文件復制到工程的assets目錄 6、復制對應權限到AndroidManifest.xml中 7、喚醒工具類封裝 二、語音識…

Linux學習第46天:Linux音頻驅動試驗:能不能?不行也得行。

Linux版本號4.1.15 芯片I.MX6ULL 大叔學Linux 品人間百味 思文短情長 CAN 是目前應用非常廣泛的現場總線之一&#xff0c;主要應用于汽車電子和工業領域&#xff0c;尤其是汽車 領域&#xff0c;汽車上大量的傳感器與模塊都是通過 C…

十二、MapReduce概述

1、MapReduce &#xff08;1&#xff09;采用框架 MapReduce是“分散——>匯總”模式的分布式計算框架&#xff0c;可供開發人員進行相應計算 &#xff08;2&#xff09;編程接口&#xff1a; ~Map ~Reduce 其中&#xff0c;Map功能接口提供了“分散”的功能&#xff…