MyBatis架構
一.原理:
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例項。
四.總結:
熟悉了架構之後,所有的程式碼都是在架構的基礎上進行的簡單操作,更加容易理解
相關文章
- MyBatis(十一):MyBatis架構流程淺析MyBatis架構
- MyBatis原始碼窺探(一):MyBatis整體架構解析MyBatis原始碼架構
- 『網際網路架構』軟體架構-mybatis體系結構(14)架構MyBatis
- MyBatis 基礎搭建及架構概述MyBatis架構
- 深入瞭解Mybatis架構設計MyBatis架構
- Mybatis原始碼分析(一)Mybatis的架構設計簡介MyBatis原始碼架構
- springmvc+mybatis +Jeesz 分散式架構SpringMVCMyBatis分散式架構
- springmvc + mybatis + ehcache + redis 分散式架構SpringMVCMyBatisRedis分散式架構
- springmvc + mybatis + ehcache + redis 分散式 架構SpringMVCMyBatisRedis分散式架構
- 【Mybatis原始碼解析】- 整體架構及原理MyBatis原始碼架構
- 精盡 MyBatis 原始碼分析 - 整體架構MyBatis原始碼架構
- springmvc+mybatis+restful+webservice 分散式架構SpringMVCMyBatisRESTWeb分散式架構
- springmvc+mybatis+dubbo+zookeeper分散式架構SpringMVCMyBatis分散式架構
- springmvc+mybatis+dubbo+zookeeper+shiro架構SpringMVCMyBatis架構
- springmvc+mybatis+restful+webservice 微服務架構SpringMVCMyBatisRESTWeb微服務架構
- restful+springmvc+mybatis+ webservice 分散式架構RESTSpringMVCMyBatisWeb分散式架構
- springmvc+mybatis+restful+webservice Jeesz分散式架構SpringMVCMyBatisRESTWeb分散式架構
- mybatis+dubbo+ springmvc+zookeeper分散式架構MyBatisSpringMVC分散式架構
- J2EE分散式架構 dubbo+springmvc+mybatis+ehcache+redis分散式架構分散式架構SpringMVCMyBatisRedis
- 深入詳解Mybatis的架構原理與6大核心流程MyBatis架構
- springmvc+mybatis+restful+shiro+Dubbo+webservice 分散式架構SpringMVCMyBatisRESTWeb分散式架構
- (四)springmvc+mybatis+dubbo+zookeeper分散式架構 整合 - maven程式碼結構SpringMVCMyBatis分散式架構Maven
- 淺析MyBatis(一):由一個快速案例剖析MyBatis的整體架構與執行流程MyBatis架構
- Spring Cloud Spring Boot mybatis分散式微服務雲架構CloudSpring BootMyBatis分散式微服務架構
- 【Spring Boot架構】整合Mybatis-Plus的例項詳解Spring Boot架構MyBatis
- 分散式架構springmvc++mybatis+springboot+springcloud+redis分散式架構SpringMVCC++MyBatisSpring BootGCCloudRedis
- dubbo+zookeeper+springmvc+mybatis+shiro+redis微服務雲架構SpringMVCMyBatisRedis微服務架構
- 微服務雲架構dubbo+zookeeper+springmvc+mybatis+shiro+redis微服務架構SpringMVCMyBatisRedis
- spring cloud + spring boot + springmvc+mybatis微服務雲架構CloudSpring BootSpringMVCMyBatis微服務架構
- spring cloud springboot mybatis 分散式 微服務 架構原始碼CloudSpring BootMyBatis分散式微服務架構原始碼
- 架構之:serverless架構架構Server
- (三)springmvc+mybatis+dubbo+zookeeper分散式架構 整合 - maven模組規劃SpringMVCMyBatis分散式架構Maven
- 分散式架構spring mvc +mybatis +shiro+ Activiti +Alibaba Druid分散式架構SpringMVCMyBatisUI
- SaaS架構:流程架構分析架構
- 【細品架構4/100】架構之架構切分架構
- 架構師修煉之道(二)——架構?設計?架構師?架構
- 單體架構&微服務架構&中臺服務架構架構微服務
- spring cloud + spring boot + springmvc+mybatis分散式微服務雲架構CloudSpring BootSpringMVCMyBatis分散式微服務架構