iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0

如果以Spring MVC 架構模式繼續探討Model,在Model的職責內包含了業務邏輯和資料的處理,除了由@Service 負責處理業務邏輯外,還有 @Repository負責處理資料的存取,被標註為@Repository 的類別主要的職責是與資料庫進行操作。

在 Spring Boot 中,主要有幾種與資料庫溝通/操作的方式:

1. Spring Data JPA,是一個基於 Java 持久化 API (Java Persistence API, JPA) 來實現物件關係映射(Object Relational Mapping, ORM) 的框架。其特點是可以透過 JPA 將 Java 物件持久化到資料庫對應的資料表內,且除了可以使用 JPQL (它是一個很類似SQL語法的物件導向的查詢語言,但JPQL的特點是它不會實際操作資料庫中的資料表,而是使用實體物件進行查詢)進行資料庫查詢外,也支援原生SQL語法進行SQL查詢。

2. Spring JDBC Template,Spring針對 JDBC API 進行了封裝,簡化了傳統 JDBC API 存取資料庫的流程。JDBC Template承擔了資源管理,像是與資料庫的連接、關閉資料庫連線…等。避免傳統JDBC需要手動關閉連接所引發的問題。它提供了像是execute()、update()、query()等常操作的方法,使用者可以透過這些方法以及所需條件對資料庫進行操作。

3. MyBatis,是一個基於Java的持久化框架,它支援自定義的SQL查詢語法,並將結果映射為Java 的 Object 或是其他資料結構。相比其它的ORM框架,它相對輕量,且可以自行選擇使用原生SQL或是複雜的SQL語法,提供了較高的靈活性。


上一篇
Day14 - Model中的業務邏輯 @Service(下)
系列文
這些年SpringBoot實戰開發教會我的事15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言