spring 通用mapper的一些註解

來源:互聯網
上載者:User

標籤:外鍵   庫存   資料   value   table   employee   generated   gen   _id   

[email protected] 註解 註解
作用:建立實體類和資料庫表之間的對應關係。
預設規則:實體類類名首字母小寫作為表名。Employee 類→employee 表。

用法:在@Table 註解的 name 屬性中指定目標資料庫表的表名

 

 

[email protected] 註解 註解
作用:建立實體類欄位和資料庫表欄位之間的對應關係。
預設規則:
實體類欄位:駝峰式命名
資料庫表欄位:使用“_”區分各個單詞

用法:在@Column 註解的 name 屬性中指定目標欄位的欄位名  用來解決和資料庫欄位不對應的情況    @Column  (" 資料庫實際欄位名 ")

 

 

[email protected] 註解 註解
通用 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 主鍵明確標記和資料庫表中主鍵欄位對應的實體類欄位

 

 

[email protected] 註解 註解
作用:讓通用 Mapper 在執行 insert 操作之後將資料庫自動產生的主索引值回寫到實
體類對象中。
自增主鍵用法:
序列主鍵用法:
應用情境:購物車結賬
? 增加商品銷量...
? 減少商品庫存...
? 產生訂單資料→封裝到 Order 對象中→儲存 Order 對象→資料庫自動產生主鍵
值→回寫到實體類對象 Order 中
? 產生一系列訂單詳情資料→List<OrderItem>→在每一個 OrderItem 中設定

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

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

 

 

[email protected] 主鍵 主鍵
用於標記不與資料庫表欄位對應的實體類欄位。
@Transient

private String otherThings; //非資料庫表中欄位

spring 通用mapper的一些註解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.