天天看點

mybatis-01 Mybatis概述與入門

目錄

mybatis-01 mybatis概述與入門

1 簡介

1.1 什麼是MyBatis

1.2 持久化

資料持久化

為什麼要持久化?

1.3 持久層

1.4 為什麼需要持久層

2 快速入門

2.1 搭建環境

2.2 配置

2.3 編寫代碼

2.4 測試

mybatis-01 Mybatis概述與入門

Mybatis 中文官網:https://mybatis.org/mybatis-3/zh/index.html

MyBatis 是一款優秀的持久層架構

它支援自定義 SQL、存儲過程以及進階映射

MyBatis 免除了幾乎所有的 JDBC 代碼以及設定參數和擷取結果集的工作

MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java pojo(Plain Old Java Objects,普通老式 Java 對象)成為資料庫中的記錄。

MyBatis 本是 apache 的一個開源項目iBatis, 2010年這個項目由 apache software foundation 遷移到了google code,并且改名為 MyBatis。2013年11月遷移到Github。

擷取Mybatis

github:https://github.com/mybatis/mybatis-3/releases

maven:https://mvnrepository.com/artifact/org.mybatis/mybatis

資料持久化就是将 記憶體中的資料模型轉換為存儲模型,以及将存儲模型轉換為記憶體 中的資料模型的統稱

狹義的了解:“持久化”僅僅指把域對象永久儲存到資料庫中

廣義的了解:“持久化”包括和資料庫相關的各種操作

儲存:把域對象永久儲存到資料庫。

更新:更新資料庫中域對象的狀态。

删除:從資料庫中删除一個域對象。

加載:根據特定的 OID,把一個域對象從資料庫加載到記憶體。

查詢:根據特定的查詢條件,把符合查詢條件的一個或多個域對象從資料庫加載内在存中。

持久化技術封裝了資料通路細節,為大部分業務邏輯提供面向對象的API。

通過持久化技術可以減少通路資料庫資料次數,增加應用程式執行速度;

代碼重用性高,能夠完成大部分資料庫操作;

松散耦合,使持久化不依賴于底層資料庫和上層業務邏輯實作,更換資料庫時隻需修改配置檔案而不用修改代碼

現在暫時了解成記憶體與硬碟之間溝通的橋梁就行了!

友善

傳統的 JDBC 代碼太過複雜

使用架構進行簡化

優點

簡單易學:本身就很小且簡單。沒有任何第三方依賴,最簡單安裝隻要兩個 jar 檔案 + 配置幾個 sql 映射檔案;易于學習,易于使用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實作。

靈活:mybatis 不會對應用程式或者資料庫的現有設計強加任何影響。 sql 寫在 xml 裡,便于統一管理和優化。通過 sql 語句可以滿足操作資料庫的所有需求。

解除 sql 與程式代碼的耦合:通過提供 DAO 層,将業務邏輯和資料通路邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql 和代碼的分離,提高了可維護性。

提供映射标簽,支援對象與資料庫的 orm(對象關系映射 Object Relational Mapping) 字段關系映射

提供對象關系映射标簽,支援對象關系組建維護

提供 xml 标簽,支援編寫動态 sql(if、while、for等特性加持)

搭建環境

導入 Mybatis

編寫代碼

測試

資料庫先準備好

建立 Maven 項目

導入依賴:

先在 resources 檔案裡面建立一個連接配接資料庫的 xml 檔案,取名為 mybatis-config.xml,注意!!!由于是 xml 檔案,存儲在 url 裡面的<code>&amp;</code>需要通過 <code>&amp;</code> 轉義得到!

編寫 mybatis 工具類,在這裡我們通過 sqlSessionFactory 來擷取 SqlSession 對象:

實體類

DAO接口

接口實作也就是我們的 xml 檔案(注意如果要寫中文注釋的話就把UTF-8改成UTF8,否則 xml 檔案有可能會報錯)一般一同放置在 dao 檔案下,就像這樣:

mybatis-01 Mybatis概述與入門

與之前的接口實作類等價。因為是 xml 檔案,是以要在 pom 檔案中配置以打包這個檔案,否則可能會出現找不到這個 xml 檔案的情況(要注意注釋中的 namespacce):

也可以将其放在 resources 目錄下,就像這樣,但是,要保證,前置限定名完全一緻,這樣項目在編譯導出的時候就會把接口檔案和 xml 檔案輸出到同一個檔案夾下,就像這樣:

mybatis-01 Mybatis概述與入門

可以看到接口檔案和 xml 檔案是完全對齊的,編譯導出後會是這個樣子(不好意思,編譯導出失敗了qwq),排查後發現忘了将 resources 設定成資源目錄,可以通過右擊檔案夾設定:

mybatis-01 Mybatis概述與入門

或者是在項目設定中配置,用 ctrl + shift + alt + s 快速打開項目設定,并按照以下順序配置:

mybatis-01 Mybatis概述與入門

别忘記 apply !!!

運作結果:

大功告成!