1. 程式人生 > >Mybatis---框架原理

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。 首