Java技術分享:小白如何入門Mybatis?
本文由小千給大家分享小白如何入門Mybatis。
一、資料持久化概念和ORM原理
1、資料持久化:持久化是程式資料在瞬時狀態和持久狀態間的轉換過程
2、ORM:編寫程式的時候,以物件導向的方式處理資料。儲存資料的時候卻以關係型資料庫的方式儲存資料
3、ORM提供:
(1) 在持久化物件上執行基本的增、刪、改、查操作
(2) 對持久化物件提供一種查詢語言或者API
(3) 物件關係對映工具
(4) 提供與事務物件互動、執行檢查、延遲載入以及其他最佳化功能
二、MyBatis的概念以及優點特性
1、簡單易學:沒有任何第三方依賴,本身很簡單
2、靈活:不會影響程式設計或資料庫的設計,sql寫在xml中,便於統一管理最佳化
3、解耦:將業務邏輯和資料訪問邏輯分離,設計清晰,便於維護。Sql與程式碼分離,方便維護
三、理解核心類的作用域和生命週期,核心配置
1、SqlSessionFactoryBuilder
(1) 生命週期及作用域:用過即丟,生命週期只存在方法體內
(2) 作用:可重用其來建立多個 SqlSessionFactory 例項,負責構建SqlSessionFactory,並提供多個build方法的過載
2、SqlSessionFactory
(1) 生命週期及作用域:生命週期與應用的生命週期相同,存在於整個應用執行時,並且同時只能存在一個物件例項(單例)。作用域為Application
作用:建立SqlSession例項
引數:true:關閉事務、false開啟事務(預設)
注:當開始事務的時候,對錶做增刪改操作時,需要提交事務:commit
3、SqlSession
(1) 生命週期及作用域:一個request請求期間,執行緒級別
(2) 作用(兩種):
① 透過SqlSession例項直接執行對映的sql語句
② 基於Mapper介面方式運算元據
1、mybatis-config.xml系統核心配置檔案
2、Mapper.xml:SQL對映檔案
四、搭建MyBatis環境
mybatis-config.xml系統核心配置檔案:
(1) 標頭檔案
(1) 根元素:<configuration></configuration>
(2) 配置元素(要放在根元素內):
① properties 可以配置在Java 屬性配置檔案中
② settings 修改 MyBatis 在執行時的行為方式:9
③ typeAliases 為 Java 型別命名一個別名(簡稱)
④ typeHandlers 型別處理器
⑤ objectFactory 物件工廠
⑥ plugins 外掛
⑦ environments 環境
⑧ environment 環境變數
1) transactionManager 事務管理器
2) dataSource 資料來源
⑨ mappers 對映器
五、掌握全域性配置檔案結構內容
1、properties配置兩種方式:
(1) 利用外部檔案:database.properties
(1) 直接在xml檔案中配置資料庫資訊
2、settings元素:(共有9個,自行百度瀏覽下其他得屬性)
(1) cacheEnabled:對在此配置檔案下得所有cache(快取)進行全域性性開/關設定(true/false),預設為true
(2) LazyLoadingEnabled:全域性性設定懶載入。如果設為”false”,則所有相關聯得都會被初始化載入:(true/false),預設為true
3、typeAliases元素:設定對映檔案返回結果別名
4、environments環境:development開發環境 test測試環境
5、environment環境變數,id指向環境
6、transactionManager
<transactionManager type=”JDBC”/>
7、dataSource
type:
(1)UNPOOLED:這個資料來源的實現只是每次被請求時開啟和關閉連結
(2)POOLED:這種資料來源的實現利用”池”的概念將JDBC連線物件組織起來
(3)JNDI:自行百度
8、mappers:對映器,配置載入對映檔案
六、Mapper對映器:
1、標頭檔案
2、根元素:
3、子元素:select、insert、delete、update、resultMap
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2771577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小白如何入門Mybatis?這裡有答案MyBatis
- AI考拉技術分享–Scrum入門AIScrum
- AI考拉技術分享--Scrum入門AIScrum
- 八年經驗老人分享python小白如何入門Python
- Web 前端小白入門(一):心路歷程,非技術指南Web前端
- Java持久層框架Mybatis入門Java框架MyBatis
- 一個小白來分享程式設計入門程式設計
- 小白如何入門大資料,資深技術大牛帶你回顧學習路線!大資料
- Java中的反射技術--小白新手向Java反射
- 【Mybatis】Mybatis快速入門MyBatis
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- MyBatis 入門MyBatis
- Mybatis入門MyBatis
- 好程式設計師Java培訓分享如何快速入門Java程式設計師Java
- Linux入門防火牆面試題有哪些?Linux技術分享Linux防火牆面試題
- MyBatis系列(一):MyBatis入門MyBatis
- Java技術分享:如何設計一個本地快取?Java快取
- MyBatis(二)MyBatis入門程式(MyBatis demo)MyBatis
- 零基礎學Java需知:Java小白入門解疑大全Java
- MyBatis(一) 入門MyBatis
- mybatis快速入門MyBatis
- mybatis入門程式MyBatis
- Java開發小白入門前的工具安裝Java
- Golang反射技術初始入門Golang反射
- Java技術分享:Java基本資料型別Java資料型別
- Java技術分享:Java的執行機制Java
- Java技術分享:NIO實戰教程!Java
- Java技術分享之變數命名Java變數
- 【經驗分享】小白入門互動設計成長指南
- 0基礎小白如何學習Python技術?Python
- 前端小白的入門前端
- 前端技術分享:演算法入門之“二分演算法”前端演算法
- 如何高效的學習Python爬蟲技術?Python入門Python爬蟲
- 給入門Java的小白推薦一本書Java
- Elasticsearch核心技術(二):Elasticsearch入門Elasticsearch
- Mybatis 入門介紹MyBatis
- Mybatis極速入門MyBatis
- mybatis入門學習MyBatis