ibatis學習記錄 4

2021-04-21 10:46:29 字數 1834 閱讀 8963

今天主要的研究是關於ibatis的dao。dao全名是data access object,有它的存在解決了資料庫使用中的乙個問題,就是如何面對不同的資料庫資源進行相同的處理。在dao下,規定了資料庫操作的介面,於是面對不同的資料庫資源,只需要分別實現相關介面就可以。提供介面api給使用者能是使用者更加方便的運算元據庫,減少麻煩,避免一些可以避免的錯誤。

首先,來看一下ibatis的dao結構,其核心就在乙個dao.xml配置檔案中。

在這個配置檔案中,定義了當前的上下文環境,使用的transactionmanager,這個可以直接使用前面已經用過的manager,以及相對應的一組dao介面和實現類。很直觀簡潔。所有的dao都是圍繞著這個配置檔案展開的。

介面定義了需要操作的方法,如下所示,基本包含了常見的crud方法:

public

inte***ce userdao 

然後仍然是按照前面的定義sqlmapconfig.xml 和 sqlmap.xml,分別管理transactionmanager和sql對映。

最後就是完成實現介面類:

public

class userdaoimpl extends sqlmapdaotemplate implements userdao    

public

int delete(userbean user) 

public

int delete(integer id) 

public userbean getbyid(integer id) 

public list> getmaplist(userbean user) 

public userbean getuser(userbean user) 

public listgetuserlist(userbean user) 

public

void insert(userbean user) 

public

void update(userbean user) }

首先要注意的是該類擴充套件了sqlmapdaotemplate,這就可以直接在該類中呼叫常見的資料庫操作方法而不需要生成乙個sqlclient的例項。

最後是測試類:

public

static

void main(string args) 

其中有很重要的一點要注意的,就是在初始化impl的時候,不能直接使用建構函式,不然就會在後面出現nep報錯,地點應該是在gettransaction()方法中,第108行。這個問題花了我半個小時,最後才在goolge上找到乙個人出了同樣的問題,用userdao impl=(userdao)manager.getdao(userdao.class);這個方法解決的。

Ibatis學習記錄

幾大要素 1 jdbc.properties 資料庫連線配置 2 sqlmapcontext.xml 主配置檔案 3 user sqlmap.xml 對映檔案 4 三層框架 建立ibatis工程步驟 1 匯入ibatis jar 資料庫連線jar 2 配置資料庫連線資訊 jdbc.propertis...

學習記錄4

8.15 8.17 要解析sql查詢語句,首先要熟悉sql查詢語句。對於需求1 解析sql查詢語句中需要查詢出的列名。要查詢的列名肯定位於select和from之間,由於sql查詢語句的情況比較多,首先使用正規表示式 select s from s 得到列名部分,再進行各種情況處理。但是後面發現sp...

HTML學習記錄4

表單 1 收集資料 2 提交 寫法 1 文字輸入框 寫法 屬性 type text為文字輸入框,name 為文字名,value 使用者自己新增的內容,placeholder 輸入框的提示語,autofocus或autofocus autofocus 頁面首次載入時自動獲取游標,readonly或re...