1. 程式人生 > >《使用SSM框架開發企業級應用》第一章 初始MyBatis

《使用SSM框架開發企業級應用》第一章 初始MyBatis

單詞

MyBatis框架   SqlSessionFactory工廠   SqlSessionFactoryBuider構造器

SqlSession使用   Configuration配置  Mapper對映  Environment環境

Property性質    Datasource資料來源    typeAliases型別命名

什麼是框架?

框架是一個提供了可重用的公共結構的半成品

框架技術的優勢

  1. 不用再考慮公共問題,框架已經幫我們做好了
  2. 可以專心於業務邏輯,保證核心業務邏輯的開發質量
  3. 結構統一,便與學習和維護
  4. 框架中集成了前人的經驗,可以幫助新手寫出穩定、效能優良而且結構優美的高質量程式

主流框架有哪些

Struts框架 Hibernate框架 Spring框架 SpringMVC框架 MyBatis框架

資料持久化的概念

資料持久化是將記憶體中的資料模型轉換為儲存模型,以及將儲存模型轉換為記憶體中資料模型的統稱

MyBatis框架簡介

 MyBatis可以代替JDBC是一個開源的資料持久層框架,內部封裝了通過JDBC訪問資料庫的操作,支援普通的SQL查詢,儲存過程和高階對映,幾乎消除了所有的JDBC程式碼和引數的手工設定以及結果集的檢索

MyBatis框架的優點

與JDBC相比,減少了50%以上的程式碼量

最簡單的持久化框架,小巧並簡單易學

SQL程式碼從程式程式碼中徹底分離,可重用

提供XML標籤,支援編寫動態SQL

提供對映標籤,支援物件與資料庫的ORM欄位對映

MyBatis框架的缺點

SQL語句編寫工作量大,對開發人員有一定要求

資料庫移植性差

MyBatis框架適用場合

MyBatis專注於SQL本身,是一個足夠靈活的DAO層解決方案,對效能的要求很高,或者需求變化較多的專案,如網際網路專案,那麼MyBatis將是不錯的選擇。

什麼是ORM?

ORM(Object/Relational  Mapping)即物件/關係對映,是一種資料持久化技術,它在物件模型和關係資料模型資料庫之間建立起對應關係,通過javaBean物件去操作資料庫 表中的資料

MyBatis 環境搭建

首先建立Maven專案

Eclipse—file—new—project—搜尋maven—mavenProject—勾選Create a simple project—next—GroupId:填寫/Artifact Id:填寫、packaging:web/jar —再看專案列表中建立的專案帶有webapp即建立成功

接著搭建MyBatis開發環境

建立maven工程—pom.xml—src/main/resources—建立database.properties/myvatis-—config.xml—在mybatis-config.xml配置資料庫連線—配置database.propertise

https://jingyan.baidu.com/article/19020a0a140c71529d28422e.html

MyBatis三個基本要素

  1. 核心介面和類
  2. MyBatis核心配置檔案(mybatis-config.Xml)
  3. SQL對映檔案(mapper.xml)

MyBatis的核心物件

SqlSessionFactoryBuilder

丨build()

SqlSessionFactory

丨openSession()

SqlSession

SqlSessionFactoryBuilder

用過即丟,其生命週期只存在於方法體內

可重用其來建立多個 SqlSessionFactory 例項

負責構建SqlSessionFactory,並提供多個build方法的過載

真正的過載方法有如下三種

  1. build(Reder reder,String environment,Properties properties)
  2. build(InputStream inputStream,String environment,Properties properties)
  3. Build(Configuration config)

配置資訊可以以三種形式提供給SqlSessionFactoryBuilder的build方法

InputStream(位元組流)  Reader(字元流)  Configuration(類)

SqlSessionFactory物件 

簡單的理解就是建立sqlSession例項的工廠。所有MYBatis應用都是以SqlSessionFactory例項為中心,SqlSessionFactory的例項可以通過SqlSessionFactoryBuilder物件來獲得。

SqlSession物件

提供了面向資料庫執行SQL命令所需要的所有方法

SqlSession生命週期和作用域

SqlSession對應著一次資料庫會話,由於資料庫繪畫不是永久的,因此SqlSession生命週期也不是永久的.相反,每次訪問資料庫時都需要建立他(並不是說在SqlSession裡只執行一次sql,是完全可以執行多次的,若是關閉了SqlSession,就需要重新建立它)建立SqlSession的地方只有一個,那就是有自己的SqlSession例項,SqlSession例項不能被共享,也不是執行緒安全的,因此最佳的作用域範圍是request作用域或者方法體作用域內,關閉SqlSession是非常重要的,必須確保SqlSession在finally語句中正常關閉.

SqlSession的兩種使用方式

  1. 通過SqlSession例項來直接執行已對映的SQL語句
  2. 基於mapper介面方式操作資料

mybatis-config.xml 系統核心配置檔案(他們有先後順序)

configuration 配置

properties 可以配置在Java 屬性配置檔案中

settings 修改 MyBatis 在執行時的行為方式

typeAliases 為 Java 型別命名一個別名(簡稱)

typeHandlers 型別處理器

objectFactory 物件工廠

plugins 外掛

environments 環境

environment 環境變數

transactionManager 事務管理器

dataSource 資料來源

mappers 對映器

配置properties元素的兩種方式

1、通過外部指定的方式(database.properties),實現動態配置

2、直接配置為xml,實現動態配置

外部指定高於直接配置