1. 程式人生 > >MyBatis的學習(二)——MyBatis事務核心物件及配置

MyBatis的學習(二)——MyBatis事務核心物件及配置

一、獲取SqlSession物件

MyBatis框架中涉及到的幾個API

SqlSessionFactoryBuilder:該物件負責根據MyBatis配置檔案mybatis-config.xml構建SqlSessionFactory例項  負責生產session

SqlSessionFactory:每一個MyBatis的應用程式都以一個SqlSessionFactory物件為核心。該物件負責建立SqlSession物件例項。

SqlSession:該物件包含了所有執行SQL操作的方法,用於執行已對映的SQL語句

二、使用動態代理實現介面的實現類(不需要Mapper實現類)

在傳統專案中,dao層介面需要實現類,而使用MyBatis不需要使用介面實現類,只需要使用配置檔案即可

如何得到動態代理:

SqlSession session=null;
	UserMapper mapper=null;
	
	@Before
	public void init(){
		 session = MyBatisUtil.getSession();
		 mapper=session.getMapper(UserMapper.class);
	}

注意:

①保證名稱空間和介面的全路徑一致;

②Statement的id和介面中的方法名一致

③加入到mybatis-config.xml中

總結:

使用mapper介面不用寫介面實現類即可完成資料庫操作,使用非常簡單,也是官方所推薦的使用方法。

  使用mapper介面的必須具備以幾個條件:

  1) Mapper的namespace必須和mapper介面的全路徑(包名+介面名)一致。

  2) Mapper介面的方法名必須和sql定義的id一致。

  3) Mapper介面中方法的輸入引數型別必須和sql定義的parameterType一致。

  4) Mapper介面中方法的輸出引數型別必須和sql定義的resultType一致。

三、Mybatis-Config配置

properties

屬性

settings 設定

typeAliases 類型別名

typeHandlers 型別處理器

objectFactory 物件工廠

plugins 外掛

environments 環境

       environment 環境變數

             transactionManager 事務管理器

             dataSource 資料來源

mappers 對映器

  Mybatis的配置檔案中配置項是有順序的,即按照上面的順序;

①Properties

②typeAliases(別名)

類型別名是為 Java 型別命名一個短的名字。 它只和 XML 配置有關, 只用來減少類完全限定名的多餘部分。

使用定義的別名是不區分大小寫的,但一般按java規則去使用即可,即user或者User

③mappers

mapper對映檔案的引入有3種方式:

  1. 路徑相對於資源目錄跟路徑:
  2. 使用完整的檔案路徑:注意:此種方法要求mapper介面名稱和mapper對映檔名稱相同,且放在同一個目錄中
  3. 可直接配個掃描包:推薦!