Mybatis---框架原理
框架:
SqlMapConfig.xml檔案:
圖上已經說明了要配置mybatis的執行環境(事務、資料來源……)、配置對映檔案(sql語句……)
在<configuration>節點下寫如下配置:
執行環境配置:
<!-- 和spring整合後 environments配置將廢除--> <environments default="development"> <environment id="development"> <!-- 使用jdbc事務管理,事務控制由mybatis--> <transactionManager type="JDBC" /> <!-- 資料庫連線池,由mybatis管理--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments>
配置對映檔案:
<!-- 載入 對映檔案 --> <mappers> <mapper resource="sqlmap/User.xml"/> <!--通過resource方法一次載入一個對映檔案 --> <!-- <mapper resource="mapper/UserMapper.xml"/> --> <!-- 通過mapper介面載入單個 對映檔案 遵循一些規範:需要將mapper介面類名和mapper.xml對映檔名稱保持一致,且在一個目錄 中 上邊規範的前提是:使用的是mapper代理方法 --> <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> --> <!-- 批量載入mapper 指定mapper介面的包名,mybatis自動掃描包下邊所有mapper介面進行載入 遵循一些規範:需要將mapper介面類名和mapper.xml對映檔名稱保持一致,且在一個目錄 中 上邊規範的前提是:使用的是mapper代理方法 --> <package name="cn.itcast.mybatis.mapper"/> </mappers>
對映檔案User.xml:
主要包括sql語句、輸入引數、輸出結果型別……
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace名稱空間,作用就是對sql進行分類化管理,理解sql隔離 注意:使用mapper代理方法開發,namespace有特殊重要的作用 --> <mapper namespace="test"> <!-- 在 對映檔案中配置很多sql語句 --> <!-- 需求:通過id查詢使用者表的記錄 --> <!-- 通過 select執行資料庫查詢 id:標識 對映檔案中的 sql 將sql語句封裝到mappedStatement物件中,所以將id稱為statement的id parameterType:指定輸入 引數的型別,這裡指定int型 #{}表示一個佔位符號 #{id}:其中的id表示接收輸入 的引數,引數名稱就是id,如果輸入 引數是簡單型別,#{}中的引數名可以任意,可以value或其它名稱 resultType:指定sql輸出結果 的所對映的java物件型別,select指定resultType表示將單條記錄對映成的java物件。 --> <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User"> SELECT * FROM USER WHERE id=#{value} </select> </mapper>
相關推薦
java-mybaits-00102-mybatis框架原理
需求變化 java hiberna 麻煩 開發 rep ati 如果能 遍歷 1、mybatis是什麽? mybatis是一個持久層的框架,是apache下的頂級項目。是一個不完全的ORM框架。 mybatis托管到goolecode下,再後來托管到github
MyBatis框架原理3:緩存
del 成都 activit 緩存策略 查找 soft cache ensure protect 上一篇[MyBatis框架原理2:SqlSession運行過程][1]介紹了MyBatis的工作流程,其中涉及到了MyBatis緩存的使用,首先回顧一下工作流程圖: 如果開啟
MyBatis框架原理2:SqlSession執行過程
獲取SqlSession物件 SqlSession session = sqlSessionFactory.openSession(); 首先通過SqlSessionFactory的openSession方法獲取SqlSession介面的實現類DefaultSqlSession物件。 public inter
MyBatis框架原理3:快取
上一篇[MyBatis框架原理2:SqlSession執行過程][1]介紹了MyBatis的工作流程,其中涉及到了MyBatis快取的使用,首先回顧一下工作流程圖: 如果開啟了二級快取,資料查詢執行過程就是首先從二級快取中查詢,如果未命中則從一級快取中查詢,如果也未命中則從資料庫中查詢。MyBatis的一級
MyBatis框架原理4:外掛
外掛的定義和作用 首先引用MyBatis文件對外掛(plugins)的定義: MyBatis 允許你在已對映語句執行過程中的某一點進行攔截呼叫。預設情況下,MyBatis 允許使用外掛來攔截的方法呼叫包括: Executor (update, query, flushStatements, commit,
mybatis框架原理
一、MyBatis介紹 MyBatis 本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis,實質上Mybatis對ibatis進行一些改進。 My
Mybatis---框架原理
框架: SqlMapConfig.xml檔案: 圖上已經說明了要配置mybatis的執行環境(事務、資料來源……)、配置對映檔案(sql語句……) 在<configura
Mybatis框架原理解析
一、Mybatis的架構設計框架分為四層:介面層、資料處理層、框架支撐層、引導層。介面層呼叫方式:基於Statement ID、基於Mapper介面資料處理層:引數對映(parameterHandler)、SQL解析(SqlSource)、SQL執行(Ececutor)、結果
MyBatis框架中Mapper映射配置的使用及原理解析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder
.cn 創建 ron 子節點 homepage 解析 調用 sco title 在 <MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置與使用> 的demo中看到了SessionFactory的創建過程: SqlSessionFactory
MyBatis框架中Mapper對映配置的使用及原理
(Mapper用於對映SQL語句,可以說是MyBatis操作資料庫的核心特性之一,這裡我們討論java的MyBatis框架中Mapper對映配置的使用及原理解析,包括對mapper.xml配置檔案的讀取流程解讀) Mapper的內建方法 model層就是實體類,對應資料庫的表。controller層是Se
MyBatis框架及原理分析(轉載)
MyBatis 是支援定製化 SQL、儲存過程以及高階對映的優秀的持久層框架,其主要就完成2件事情: 封裝JDBC操作 利用反射打通Java類與SQL語句之間的相互轉換 MyBatis的主要設計目的就是讓我們對執行SQL語句時對輸入輸出的資料管理更加方便,所以方便地寫出SQL
Mybatis框架及原理分析
框架主要類層次結構 1、Mybatis主要做的工作: 1、根據JDBC規範建立與資料庫的連線 2、通過反射打通Java物件與資料庫引數互動之間相互轉化關係 2、主要類的層次關係 SqlSessionFactoryBuilder類通過各種構造器方法,
Mybatis學習(二)Mybatis框架的原理
, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。iBATIS一詞來源於“internet”和“abatis”的組合,是一個基於Java的持久層框架。iBATIS提供的持久層框架包括S
Mybatis框架(8)---Mybatis外掛原理
Mybatis外掛原理 在實際開發過程中,我們經常使用的Mybaits外掛就是分頁外掛了,通過分頁外掛我們可以在不用寫count語句和limit的情況下就可以獲取分頁後的資料,給我們開發帶來很大 的便利。除了分頁,外掛使用場景主要還有更新資料庫的通用欄位,分庫分表,加解密等的處理。 這篇部落格主要講Myb
(4)一起來看下mybatis框架的快取原理吧
本文是作者原創,版權歸作者所有.若要轉載,請註明出處.本文只貼我覺得比較重要的原始碼,其他不重要非關鍵的就不貼了 我們知道.使用快取可以更快的獲取資料,避免頻繁直接查詢資料庫,節省資源. MyBatis快取有一級快取和二級快取. 1.一級快取也叫本地快取,預設開啟,在一個sqlsession內有效.當在同一個
.net Mvc框架原理
time system ati 封裝 重要 request對象 arp image .net 本文只是簡要說明原理,學習後的總結。 1.當一個Http請求發送後會被URLRoutingModule攔截(這時候也就是正式進入管道,下章會講管道事件) 2.這時根據IsapiW
[Architect] Abp 框架原理解析(5) UnitOfWork
框架 方法 src options nalu res actions cnblogs 一個數 本節目錄 介紹 分析Abp源碼 實現UOW 介紹 UOW(全稱UnitOfWork)是指工作單元. 在Abp中,工作單元對於倉儲和應用服務方法默認開啟。並在一次請求中,共享
Mybatis框架中Mapper文件傳值參數獲取。【Mybatis】
ram keyword ddr gem cli view ati copyto one Mybatis框架中,Mapper文件參數獲取一般有以下幾種: 1、參數個數為1個(string或者int) dao層方法為以下兩種: [java] view plain
我對hibernate和mybatis框架的比較
我們 code let bat 調用 設計 操作數 fec update 系統在選擇操作數據庫的框架上面,究竟是選擇hibernate,還是mybatis。 首先說下兩者的原理,假設你要關聯幾張表做查詢,查出20條記錄: 1.假設是mybatis SEL
IDEA下創建Maven項目,並整合使用Spring、Spring MVC、Mybatis框架
varchar bat 連接 pom.xml文件 http mave eat supported 分享 項目創建 本項目使用的是IDEA 2016創建。項目使用Spring 4.2.6,Mybatis3.4.0,Tomcat使用的是Tomcat8,數據庫為MySQL。 首