springBoot專案搭建細節筆記
阿新 • • 發佈:2022-04-12
注意:此筆記會持續更新。
b>設定全域性配置,將_自動對映為駝峰
1)必須被@Test註解修飾
1、在開發某個具體的功能時,應遵循開發順序:持久層-業務層-控制器-前端頁面。
2、idea對於JS程式碼的相容性較差,編寫了js程式碼但是有時候不能正常去載入,有以下方法解決:
1)idea快取清理
2)clear - install
3)rebuild重新構建
4)重啟idea和作業系統
3、@MapperScan註解指定當前專案中的mapper介面路徑所在的位置,在專案啟動的時候會自動載入所有的mapper介面相當於給每個mapper介面上加@Mapper註解 / 掃描mapper介面所在的包-->包下的所有mapper介面所動態生成的代理類交給IOC容器來管理
16、@Repository //將一個類或介面標識為一個持久層元件
17、在IOC容器中只能存在類所對應的bean,不能存在介面所對應的bean
4、xml對映檔案與對應的介面進行關聯。所有的對映檔案需要放在resources目錄下,對映檔案遵循和介面的名稱保持一致
5、在對映檔案的insert標籤中,useGeneratedKeys="true":設定當前標籤中sql使用了自增的主鍵;keyProperty="id":將自增的主鍵的值賦給傳輸到對映檔案中引數的某個屬性(這裡賦給了id),sql語句執行完成後,引數的賦值的屬性就會變化 /id不再為null,而是為表中的主鍵id的值
6、MyBatis 獲取引數值的兩種方式:${}和 #{}
1)${} 本質字串拼接 / 手動加單引號引入引數 引起sql注入問題
2)#{} 本質佔位符賦值
7、編寫sql語句時,注意獲取傳輸過來的值(推薦兩種常用方法):
1)引數是實體類型別的引數,以屬性獲取屬性值
2)使用@Param註解,以註解裡面的值作為鍵 或者使用 param1.param2為鍵 獲取值
8、設定全域性配置,將_自動對映為駝峰(實體類中屬性命名規則是駝峰命名法,資料庫中欄位命名方法是_命名法):mapUnderscoreToCamelCase="true"
9、解決欄位名和屬性名不一致
a>為欄位起別名,保證和屬性名的一致
b>設定全域性配置,將_自動對映為駝峰
<setting name="mapUnderscoreToCamelCase" value="true"/>
c>通過resultMap設定自定義的對映關係
10、相關概念:ORM(Object Relationship Mapping)物件關係對映
* 物件:Java的實體類物件
* 關係:關係型資料庫 / 二維資料表
* 對映:二者之間的對應關係
*
* Java概念 資料庫概念
* 類 表
* 屬性 欄位/列
* 物件 記錄/行
11、MyBatis 設定了預設的類型別名 /不區分大小寫
* java.lang.Integer--> int,Integer
* int ---> _int,_Integer
* String --> string
* Map--> map
12、查詢功能的標籤必須設定 resultType 或 resultMap //查詢出來的資料所需要轉化成的**實體類物件的型別/別名
resultType 設定預設的對映關係 (實體類屬性與表中的欄位名保持一致)
resultMap 設定自定義的對映關係 (實體類屬性與表中的欄位名不一致)
13、單元測試:每個獨立的層編寫完畢後需要編寫單元測試方法,來測試當前的功能
14、 @SpringBootTest
1)替代了spring-test中的@ContextConfiguration註解,目的是載入ApplicationContext,啟動 spring容器。 / 使用 IOC 容器中的元件
2)標識當前的類是一個測試類,不會隨同專案一塊打包
15、單元測試方法:可以單獨獨立執行,不用啟動整個專案,可以做單元測試,提升了程式碼的測試效率
1)必須被@Test註解修飾
2)返回值必須是void
3)方法的引數列表不指定任何型別
4)方法的訪問修飾符必須是public