1. 新建項(xiàng)目
選擇Web->Web,SQL->JPA&MySQL這三種組件
2. pom.xml
項(xiàng)目中自動(dòng)添加了spring-data-jpa琐簇、mysql-connector-java的支持峦筒。
注意使用內(nèi)部tomcat運(yùn)行程序,要將spring-boot-starter-tomcat的scope標(biāo)簽注釋掉裁僧。
3. 配置數(shù)據(jù)源以及JPA
新建application.yml文件财搁,配置數(shù)據(jù)庫連接信息以及JPA
需要注意yml配置文件的寫法蘸炸,下面提我遇到的幾點(diǎn):
1.標(biāo)簽與內(nèi)容之間有空格。例如“url:”與后面的連接字符串之間是有空格的尖奔,“url:”顯示藍(lán)色即為正確
2.要注意每一項(xiàng)配置的引用關(guān)系搭儒。例如要輸入username時(shí),智能提示了很多選項(xiàng)提茁,而我要用的是spring.datasource下的username淹禾,選擇第一個(gè)符合的配置。
3.SpringBoot的版本不同茴扁,寫法可能有變化铃岔,我用的是2.1.1
一開始按照網(wǎng)上的方法寫了yml配置文件,后來程序運(yùn)行時(shí)出現(xiàn)WARN峭火,查找解決方案更改至上面圖片中的寫法
出現(xiàn)告警的有時(shí)間(serverTimezone=UTC)毁习,新版本寫法改變(driver-class-name: com.mysql.jdbc.Driver)智嚷,以及open-in-view的設(shè)置。
有些告警可能并不影響功能纺且,但我覺得作為一個(gè)初學(xué)者纤勒,盡可能解決一些提示出來的告警,也是一種積累隆檀。
4. CRUD
1.我的本地?cái)?shù)據(jù)庫表結(jié)構(gòu)
2.創(chuàng)建實(shí)體
get-set對(duì)可以鼠標(biāo)右鍵->Generate->Getter and Setter,所有屬性全選粹湃,就自動(dòng)生成了恐仑。
這部分需要注意,上圖中可以見到为鳄,我創(chuàng)建的表裳仆、字段都是包含大小寫的形式,但在代碼中孤钦,統(tǒng)一寫成小寫歧斟,不會(huì)出錯(cuò)。
之前Table&Column完全按照數(shù)據(jù)庫的大小寫來填寫偏形,報(bào)錯(cuò)找不到表或字段(例如報(bào)錯(cuò)java.sql.SQLSyntaxErrorException: Table 'workspace.group_info' doesn't exist)静袖,Hibernate將GroupInfo解析成了group_info,導(dǎo)致找不到該表俊扭,具體原因未明队橙。
3.創(chuàng)建JPA
4.編寫Controller,編寫數(shù)據(jù)庫查詢萨惑、添加捐康、更新、刪除的方法
5.項(xiàng)目整體結(jié)構(gòu)如圖:
5.運(yùn)行測(cè)試
首先庸蔼,運(yùn)行信息沒有錯(cuò)誤解总、沒有告警
1.查詢測(cè)試:127.0.0.1:8080/user/list
2.添加測(cè)試:127.0.0.1:8080/user/save?groupName=workspace
添加執(zhí)行url并沒有寫groupID的值,原因是實(shí)體類中@GeneratedValue(strategy = GenerationType.IDENTITY)姐仅,主鍵設(shè)置為自增長
3.更新測(cè)試:127.0.0.1:8080/user/save?groupID=2&groupName=utility
4.刪除測(cè)試:127.0.0.1:8080/user/delete?id=1