




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第Springboot引入hibernate配置自動建表并進行增刪改查操作目錄前言一、引入依賴二、配置yml三、寫代碼四、測試結果
前言
有些業務比較復雜,比如我們需要新建10張表,每張表有10個字段,如果用手工來操作,肯定非常浪費時間,而且隨著代碼中對實體類的修改,還要同時修改數據庫表,有時候寫著寫著就忘了,代碼改了,數據庫沒改,這種問題使用hibernate的自動建表就好啦。
一、引入依賴
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-data-jpa/artifactId
/dependency
dependency
groupIdmysql/groupId
artifactIdmysql-connector-java/artifactId
scoperuntime/scope
/dependency
二、配置yml
自動建表的配置是ddl-auto,有多個屬性可選
server:
port:8081
spring:
datasource:
driver-class-name:com.mysql.cj.jdbc.Driver
url:jdbc:mysql://127.0.0.1:3306/testuseSSL=falseuseUnicode=truecharacterEncoding=UTF-8serverTimezone=Asia/ShanghairewriteBatchedStatements=true
username:root
password:root
jpa:
hibernate:
ddl-auto:update
#打印SQL語句
show-sql:true
三、寫代碼
1、新建數據庫(空數據庫即可,不要新建表)
2、實體類
@Id代表這是主鍵,@GeneratedValue和@GenericGenerator設置主鍵策略是UUID
@Column可以不寫,name是數據庫中的字段名,如果數據庫中要新建的對應字段也叫name,可以不寫,columnDefinition指定字段在數據庫中的類型、長度、注釋等
packagecom.xuyijie.test.entity;
importjakarta.persistence.*;
importlombok.Data;
importorg.hibernate.annotations.GenericGenerator;
*@author徐一杰
*@date2025/9/1917:25
*@description
//JPA(Hibernate)的實體類注解
@Entity
@Table(name="people")
//Lombok
@Data
publicclassPeople{
//Id代表這是主鍵,GeneratedValue和GenericGenerator設置主鍵策略是UUID
@GeneratedValue(generator="id")
@GenericGenerator(name="id",strategy="uuid.hex")
privateStringid;
//Column可以不寫,name是數據庫中的字段名,如果數據庫中要新建的對應字段也叫name,可以不寫,columnDefinition指定字段在數據庫中的類型、長度、注釋等
@Column(name="name",columnDefinition="varchar(255)NOTNULLCOMMENT'名字'")
privateStringname;
@Column(name="sex",columnDefinition="varchar(2)NOTNULLCOMMENT'性別'")
privateStringsex;
@Column(name="age",columnDefinition="int")
privateIntegerage;
3、Dao層
JpaRepositoryPeople,String尖括號里面填寫的是實體類和實體類的主鍵數據類型,PeopleMapper繼承JpaRepository以后,可以把PeopleMapper注入到Service里,使用很多內置方法
packagecom.xuyijie.test.mapper;
importcom.xuyijie.test.entity.People;
importorg.springframework.data.jpa.repository.JpaRepository;
importorg.springframework.stereotype.Repository;
*@author徐一杰
*@date2025/9/1917:42
*@description
@Repository
publicinterfacePeopleMapperextendsJpaRepositoryPeople,String{
}
4、Controller
packagecom.xuyijie.test.controller;
importcom.xuyijie.test.entity.People;
importcom.xuyijie.test.mapper.PeopleMapper;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.PathVariable;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
*@author徐一杰
*@date2025/9/1917:12
*@description
@RestController
@RequestMapping("/test")
publicclassTest{
@Autowired
privatePeopleMapperpeopleMapper;
@GetMapping("/hello/{str}")
publicStringHello(@PathVariableStringstr){
Peoplepeople=newPeople();
people.setName(str);
people.setSex("男");
//這里的save和findAll都是hibernate自帶的方法,里面還有很多內置方法
peopleMapper.save(people);
Syste
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務會計學模擬題
- 自動控制原理考試題
- 設施維護管理制度(9篇)
- 2024-2025學年冀教版八年級下學期英語期末試卷(含答案)
- 幼兒園《疫情防控安全》教案5篇
- 2023年電大開放教育貨幣銀行學網考題庫
- 2025年android自學教程!BAT等大廠必問技術面試題BAT大廠面試總結-bat企業安卓課程
- 期末應用題專項訓練:分數的加法和減法(含解析)-2024-2025學年數學五年級下冊人教版
- 建筑施工特種作業-建筑電工真題庫-9
- 日語聽力題目大全及答案
- DBJ50-255-2022 建筑節能(綠色建筑)工程施工質量驗收標準
- 乒乓球體育課教案
- 幼兒園大班語言課件:《畢業詩》
- 勞動力保證措施以及計劃安排
- 2021利達JB-QG-LD988EL JB-QT-LD988EL 火災報警控制器 消防聯動控制器調試手冊
- 24春國家開放大學《班級管理》形考任務1-4參考答案
- 2021年中國社會科學院大學統計學原理期末精練試卷
- 手術室墜床跌倒應急預案
- 2024年《軍事理論》考試題庫附答案(含各題型)
- 《風力發電廠調試規程》
- 廣東省中山市2022-2023學年高二下學期期末數學試題(學生版+解析)
評論
0/150
提交評論