MyBatis架構

00潤物無聲00發表於2016-09-21

一.原理: 

  mybatis是支援普通 SQL查詢,儲存過程和高階對映的優秀持久層的框架,mybatis讓程式將主要精力放在sql上,通過mybatis提供的對映方式,自由靈活生成(半自動化,大部分需要程式設計師編寫sql)滿足需要sql語句。

  mybatis可以將向 preparedStatement中的輸入引數自動進行輸入對映,將查詢結果集靈活對映成java物件。(輸出對映)

  將sql語句配置在xml配置檔案中,即使sql變化,不需要對java程式碼進行重新編譯。將sql語句及佔位符號和引數全部配置在xml中。


二.架構圖


    


  

3.具體實現

  每個MyBatis應用程式主要都是使用SqlSessionFactory例項的,一個SqlSessionFactory例項可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個xml配置檔案或者一個預定義的配置類的例項獲得。

  

	//獲得SqlSession
	public SqlSession getSqlSession() throws IOException {
		// mybastis配置檔案
		String resource = "SqlMapConfig.xml";
		// 得到配置檔案流
		InputStream impuStream = Resources.getResourceAsStream(resource);
		// 建立會話工廠
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
				.build(impuStream);
		// 通過工廠得到sqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();
		return sqlSession;
	}

  Resources可以方便地從類路徑及其它位置載入資源,使用類路徑資源(classpath resource),用xml檔案構建SqlSessionFactory例項。


四.總結:

  熟悉了架構之後,所有的程式碼都是在架構的基礎上進行的簡單操作,更加容易理解  



相關文章