當前位置:首頁 » 存儲配置 » ibatis的存儲過程

ibatis的存儲過程

發布時間: 2025-03-08 06:20:33

java框架MyBatis工作流程是怎樣的

一、Mybatis介紹


MyBatis是一款一流的支持自定義sql存儲過程和高級映射的持久化框架。MyBatis幾乎消除了所有的JDBC代碼,也基本不需要手工去 設置參數和獲取檢索結果。MyBatis能夠使用簡單的XML格式或者註解進行來配置,能夠映射基本數據元素、Map介面和POJOs(普通java對 象)到資料庫中的記錄。


二、MyBatis工作流程


(1)載入配置並初始化


觸發條件:載入配置文件


配置來源於兩個地方,一處是配置文件,一處是Java代碼的註解,將SQL的配置信息載入成為一個個MappedStatement對象(包括了傳入參數映射配置、執行的SQL語句、結果映射配置),存儲在內存中。


(2)接收調用請求


觸發條件:調用Mybatis提供的API


傳入參數:為SQL的ID和傳入參數對象


處理過程:將請求傳遞給下層的請求處理層進行處理。


(3)處理操作請求 觸發條件:API介面層傳遞請求過來


傳入參數:為SQL的ID和傳入參數對象


處理過程:


(A)根據SQL的ID查找對應的MappedStatement對象。

(B)根據傳入參數對象解析MappedStatement對象,得到最終要執行的SQL和執行傳入參數。

(C)獲取資料庫連接,根據得到的最終SQL語句和執行傳入參數到資料庫執行,並得到執行結果。

(D)根據MappedStatement對象中的結果映射配置對得到的執行結果進行轉換處理,並得到最終的處理結果。

(E)釋放連接資源。


(4)返回處理結果將最終的處理結果返回。


orm工具的基本思想


無論是用過的hibernate,mybatis,你都可以法相他們有一個共同點:


從配置文件(通常是XML配置文件中)得到 sessionfactory.


由sessionfactory 產生 session


在session 中完成對數據的增刪改查和事務提交等.


在用完之後關閉session 。


在java 對象和 資料庫之間有做mapping 的配置文件,也通常是xml 文件。


功能架構

⑵ ibatis 存儲過程的 查詢

queryForList返回的是List,queryForObject返回的是Object;
to LS:ibatis可以調用存儲過程。

⑶ 請教一下iBatis中怎麼寫 set @a:=0;select @a:=@a+1 from table這種形式的語句

是存儲過程,以下是mysql查詢時帶行號的結果,供你參考:

SELECTtemp.*FROM(SELECT(@rowNum:=@rowNum+1)ASrow_no,t.*FROMtaskt,(SELECT(@rowNum:=0))bWHEREt.is_start=1ORDERBYt.execute_timeASC,t.create_timeASC)tempWHEREtemp.seller_id=384652432

⑷ 什麼是mybatis 為什麼要使用my batis

1、定義
MyBatis是一個支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。

2、使用原因
MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置和原始映射,將介面和Java的POJO(Plain Old Java Objects,普通的Java對象)映射成資料庫中的記錄。

3、總體流程
(1)載入配置並初始化
觸發條件:載入配置文件
處理過程:將SQL的配置信息載入成為一個個MappedStatement對象(包括了傳入參數映射配置、執行的SQL語句、結果映射配置),存儲在內存中。
(2)接收調用請求
觸發條件:調用Mybatis提供的API
傳入參數:為SQL的ID和傳入參數對象
處理過程:將請求傳遞給下層的請求處理層進行處理。
(3)處理操作請求
觸發條件:API介面層傳遞請求過來
傳入參數:為SQL的ID和傳入參數對象
處理過程:
(A)根據SQL的ID查找對應的MappedStatement對象。
(B)根據傳入參數對象解析MappedStatement對象,得到最終要執行的SQL和執行傳入參數。
(C)獲取資料庫連接,根據得到的最終SQL語句和執行傳入參數到資料庫執行,並得到執行結果。
(D)根據MappedStatement對象中的結果映射配置對得到的執行結果進行轉換處理,並得到最終的處理結果。
(E)釋放連接資源。
(4)返回處理結果將最終的處理結果返回。

⑸ mybatis和ibatis的區別

1、基本信息不同

mybatis:MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。

MyBatis 可以使用簡單的 XML 或註解來配置和映射原生信息,將介面和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java對象)映射成資料庫中的記錄。

ibatis:iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO),同時還提供一個利用這個框架開發的JPetStore實例。相對Hibernate和ApacheOJB等「一站式」ORM解決方案而言,ibatis 是一種「半自動化」的ORM實現。

iBATIS 目前提供了三種語言實現的版本,包括:Java、.NET以及Ruby。

2、開發時間不同

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

ibatis:iBATIS一詞來源於「internet」和「abatis」的組合,是一個由Clinton Begin在2001年發起的開放源代碼項目。

3、配置方法不同

mybatis簡化了編碼的過程,不需要去寫的實現類,直接寫一個的介面,再寫一個xml配置文件,整個mybatis就配置好了,也就是資料庫就連接好了,然後在service裡面直接調用就可以了,但是ibatis則不可以,必須要寫的實現類。mybatis是ibatis的升級版本。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:639
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:84
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:793
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:344
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:812
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:366
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:592