spring 通用mapper的一些注解


1.1@Table 注解 注解
作用:建立實體類和數據庫表之間的對應關系。
默認規則:實體類類名首字母小寫作為表名。Employee 類→employee 表。

用法:在@Table 注解的 name 屬性中指定目標數據庫表的表名

 


 

1.2@Column 注解 注解
作用:建立實體類字段和數據庫表字段之間的對應關系。
默認規則:
實體類字段:駝峰式命名
數據庫表字段:使用“_”區分各個單詞

用法:在@Column 注解的 name 屬性中指定目標字段的字段名  用來解決和數據庫字段不對應的情況    @Column  (" 數據庫實際字段名 ")

 


 

1.3@Id 注解 注解
通用 Mapper 在執行 xxxByPrimaryKey(key)方法時,有兩種情況。
情況 1:沒有使用@Id 注解明確指定主鍵字段
SELECT emp_id,emp_name,emp_salary_apple,emp_age FROM tabple_emp WHERE emp_id = ?
AND emp_name = ? AND emp_salary_apple = ? AND emp_age = ?
之所以會生成上面這樣的 WHERE 子句是因為通用 Mapper 將實體類中的所有
字段都拿來放在一起作為聯合主鍵。

情況 2:使用@Id 主鍵明確標記和數據庫表中主鍵字段對應的實體類字段

 


 

1.4@GeneratedValue 注解 注解
作用:讓通用 Mapper 在執行 insert 操作之后將數據庫自動生成的主鍵值回寫到實
體類對象中。
自增主鍵用法:
序列主鍵用法:
應用場景:購物車結賬
 增加商品銷量...
 減少商品庫存...
 生成訂單數據→封裝到 Order 對象中→保存 Order 對象→數據庫自動生成主鍵
值→回寫到實體類對象 Order 中
 生成一系列訂單詳情數據→List<OrderItem>→在每一個 OrderItem 中設置

Order 對象的主鍵值作為外鍵→批量保存 List<OrderItem>

@GeneratedValue(strategy = GenerationType.IDENTITY)
  • 根據底層數據庫自動選擇方式,需要底層數據庫的設置
  • 如MySQL,會使用自增字段,需要將主鍵設置成auto_increment。

 


 

1.5@Transient 主鍵 主鍵
用於標記不與數據庫表字段對應的實體類字段。
@Transient

private String otherThings; //非數據庫表中字段


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM