搭建簡單的單個Mybatis框架

2021-08-21 20:46:15 字數 3279 閱讀 8885

最近幾天還是在看框架,都是為了找工作。另外,鄭州的工作是真的不好找。

今天來寫乙個搭建單個框架的練習,搭建的是mybatis,主要的原因是自己對於單個框架的原理不太懂,雖然前面的部落格對於ssm框架進行了整合,但是最好還是自己在進行深入的了解。不再廢話了,直接開始。

下面就說一說具體的搭建思路。

1.複製jar包,直接複製到web-inf下面的lib資料夾下,在build path。具體的jar包如圖,可能有些jar包有些多餘。

sqlmapconfig.xml是mybatis核心的配置檔案,主要配置資料庫連線的一些引數和載入對映檔案。本次專案的sqlmapconfig.xml具體**如下:

<?xml version="1.0" encoding="utf-8" ?>

log4j.properties的作用我這裡還不是很清楚,還是自己學習的太淺了,這個問題以後有機會我在研究。後來知道了,這是日誌輸出格式配置檔案,主要和日誌輸出有關。**具體如下:

# global logging configuration

log4j.rootlogger=debug, stdout

# console output...

3.搭建專案的具體的結構。在這裡因為需要pojo類和dao層,因為不再顯示在頁面上,這裡需要寫乙個test包。具體的專案結構如下:

pojo就是實體類物件,沒有什麼關鍵**可以寫的,記得要寫建構函式(無參和有參都要有),tostring方法,get和set方法。其他的在看自己id需求。

<?xml version="1.0" encoding="utf-8" ?>

select * from user where id=#

select * from user where username like '%$%'

insert into user(username,birthday,***,address)

values (#,#,#,#)

下面就是**,因為要使用到@test註解,所以這裡沒有其他的東西,直接在方法裡面查詢。下面就說說具體的步驟。

(1)建立 sqlsessionfactorybuilder(這個類可以被例項化,使用和丟棄。一旦你建立了 sqlsessionfactory 後,這個類就不需 要存在了。因此 sqlsessionfactorybuilder 例項的最佳範圍是方法範圍(也就是本地方法變數))。

(2)建立核心配置檔案的輸入流。

(3)建立sqlsessionfactory物件,用於開啟session(一旦被建立,sqlsessionfactory 例項應該在你的應用程式執行期間都存在。沒有理由來 處理或重新建立它。使用 sqlsessionfactory 的最佳實踐是在應用程式執行期間不要重複建立 多次)。

(4)開啟session(每個執行緒都應該有它自己的 sqlsession 例項。sqlsession 的例項不能共享使用,它也是 執行緒不安全的。因此最佳的範圍是請求或方法範圍。絕對不能將 sqlsession 例項的引用放在 乙個類的靜態字段甚至是例項欄位中。也絕不能將 sqlsession 例項的引用放在任何型別的管 理範圍中)。

(5)執行sql語句。

(6)關閉session。

具體的**如下:

// 建立 sqlsessionfactorybuilder

sqlsessionfactorybuilder builder = new sqlsessionfactorybuilder();

// 建立核心配置檔案的輸入流

inputstream inputstream = resources.getresourceasstream("sqlmapconfig.xml");

// 建立sqlsessionfactory物件,用於開啟session

sqlsessionfactory factory = builder.build(inputstream);

// 開啟session

sqlsession session = factory.opensession();

// 執行查詢 引數一是sql語句的id 引數二是傳入sql語句的引數

user user = session.selectone("user.getuserbyid", 1);

// 輸出user物件,實現了tostring方法

system.out.println(user);

// 關閉session資源

session.close();

上面的**有載入mybatis的核心配置檔案,在實際的應用中有一些要改進的地方,其中,如果和spring整合的時候完全不需要建立,直接依賴注入就可以了,這是後話。到這裡,其實已經完成了大部分的工作,剩下的就都是一些細節性的問題,因為都是開發中遇到的問題,這裡提也有一些繁瑣。這裡還是提一下,給自己乙個提醒,但是不再舉出解決方案,估計以後會用到更好的。

首先是可以看到上面的**有些多,其中我也列舉出sqlsessionfactorybuilder,sqlsessionfactory,sqlsession各自存在的區域和理由,所以這個可以寫乙個工具類,實現就是單例模式的實現,因為sqlsessionfactory只要有乙個就可以。具體的實現可以自己下去找找。

其次是插入資料時需求是要有主鍵返回值,這裡用到了mybatis的解決方案,具體的實現還是利用了框架,另外,插入時因為有快取的存在,所以插入要立即看到效果就要立即提交session(事務)。

在其次就是mybatis dao開發,有兩種方式,乙個是比較老的dao開發,就是直接開發,寫完dao介面在寫實現類。最後呼叫。另一種我在前面ssm整合中使用到,是介面動態**的方式,只寫乙個dao介面,在呼叫介面。實現介面的動態**要有四個規則。如下:1 namespace必需是介面的全路徑名。2 介面的方法名必需與對映檔案的sql id一致。3 介面的輸入引數必需與對映檔案的parametertype型別一致。4 介面的返回型別必須與對映檔案的resulttype型別一致。

最後,貼上乙個,就是mybatis中的具體架構圖,圖事別人的,要是有問題,聯絡我,我刪除。

剩下就沒有什麼問題了,其他的問題以後再新增。結束。

Mybatis的簡單搭建

1.2.匯入jar包 3.根據官方文件,首先寫mybatis config.xml檔案 xml version 1.0 encoding utf 8 doctype configuration public config 3.0 en configuration properties resourc...

Redis單個服務的搭建

將redis壓縮包上傳進虛擬機器linux 進入包所在目錄,執行解壓命令 tar zxvf redis 4.0.11.tar.gz c 解壓路徑 該路徑下會出現redis資料夾,進入資料夾,執行make命令,測試安裝環境 接上條,如果執行有error提示,說明需要的gcc環境和tcl環境有問題 測試...

mybatis框架的搭建

global logging configuration log4j.rootlogger debug,stdout console output.1 開發pojo類 2 建立全域性配置檔案 sqlmapconfig.xml xml version 1.0 encoding utf 8 beans ...