大數據基礎:Mybatis基礎入門

2020-12-22 成都加米谷大數據

對於大數據技術開發者而言,Mybatis作為一個優秀的持久層框架,是需要具備的一項重要基礎。涉及到數據存儲、數據查詢,Mybatis內部封裝好JDBC,可以大大提升開發效率。今天的大數據基礎分享,我們就來講講Mybatis基礎入門。Mybatis的前身是Apache的開源項目iBatis,在經過多次的迭代更新,才最終以Mybatis的名稱定了下來。當前Mybatis最新版本是Mybatis 3.5.5,今年上半年6月發布。

Mybatis簡介Mybatis是一個基於Java的持久層框架,內部封裝了JDBC,使開發者只需要關注SQL語句本身,而不需要花費精力去處理加載驅動、創建連接、創建statement等繁雜的過程。Mybatis通過xml或註解的方式將要執行的各種statement配置起來,並通過Java對象和statement中SQL的動態參數進行映射生成最終執行的SQL語句,最後由Mybatis框架執行SQL並將結果映射為Java對象並返回。採用ORM思想解決了實體和資料庫映射的問題,對JDBC進行了封裝,屏蔽了JDBC api底層訪問細節,使我們不用與JDBC api打交道,就可以完成對資料庫的持久化操作。

Mybatis優缺點優點:①簡單易學:本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個SQL映射文件易於學習,易於使用,通過文檔和原始碼,可以比較完全的掌握它的設計思路和實現。②靈活:Mybatis不會對應用程式或者資料庫的現有設計強加任何影響。SQL寫在xml裡,便於統一管理和優化。通過SQL基本上可以實現我們不使用數據訪問框架可以實現的所有功能,或許更多。③解除SQL與程序代碼的耦合:通過提供DAL層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。SQL和代碼的分離,提高了可維護性。④提供映射標籤,支持對象與資料庫的orm欄位關係映射。⑤提供對象關係映射標籤,支持對象關係組建維護。⑥提供xml標籤,支持編寫動態SQL。缺點:①編寫SQL語句時工作量很大,尤其是欄位多、關聯表多時,更是如此。②SQL語句依賴於資料庫,導致資料庫移植性差,不能更換資料庫。③框架還是比較簡陋,功能尚有缺失,雖然簡化了數據綁定代碼,但是整個底層資料庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速資料庫修改。④二級緩存機制不佳。Mybatis核心APIMybatis中核心配置文件有兩種:Mybatis核心配置文件和Mybatis映射文件。Mybatis核心API:

SQLSessionFactoryBuilder:SQLSessionFactoryBuilder對象的生命周期是局部方法內,即用之即丟。SQLSessionFactoryBuilder用於創建SQLSessionFacoty,SQLSessionFacoty一旦創建完成就不需要SQLSessionFactoryBuilder了。因為SQLSession是通過SQLSessionFactory創建的,所以可以將SQLSessionFactoryBuilder當成一個工具類使用,最佳使用範圍是方法範圍即方法體內局部變量。SQLSessionFactory:SQLSessionFactory是單例的,在整個工程內生效。創建SQLSession的工廠,是一個接口,接口中定義了openSession的不同重載方法。SQLSessionFactory的最佳使用範圍是整個應用運行期間,一旦創建後可以重複使用,通常以單例模式管理SQLSessionFactory。SQLSession:生命周期一次資料庫訪問請求過程。連接到資料庫的一個會話。SQLSession中定義了資料庫操作方法。每個線程都應該有它自己的SQLSession實例。SQLSession的實例不能共享使用,它也是線程不安全的。因此最佳的範圍是請求或方法範圍。SQLSession在執行SQL語句時有兩種方式:通過具體方法的完整路徑來執行;通過mapper接口來執行(建議使用)。關於大數據基礎,Mybatis基礎入門,以上就為大家做了簡單的介紹了。對於大數據開發者而言,掌握好Mybatis,對於底層基礎架構搭建,還是很有應用意義和參考價值的。

相關焦點

  • 大數據開發基礎:Java基礎數據類型
    在Java基礎入門學習階段,Java基礎數據類型無疑是基礎當中的重點,掌握基礎數據類型,對於後續去理解和掌握更深入的理論,是有緊密的關聯性的。今天的大數據開發基礎學習,我們就來講講,Java八種基礎數據類型。
  • Mybatis-Plus和Mybatis你了解多少呢?
    至於標題說的↓Mybatis Plus:國人團隊苞米豆在Mybatis的基礎上開發的框架,在Mybatis基礎上擴展了許多功能,榮獲了2018最受歡迎國產開源軟體第5名,當然也有配套的↓Mybatis Plus Generator:同樣為苞米豆開發,比Mybatis Generator更加強大,支持功能更多,自動生成Entity
  • MyBatis-Plus為啥這麼牛?
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫前言大家有用過MyBatis-Plus(簡稱MP)的都知道它是一個MyBatis的增強工具,旨在MyBatis的基礎上只做增強不做改變
  • mybatis的Configuration的屬性設置
    propertiesElement方法分析首先第一行執行的是propertiesElement(root.evalNode("properties"));可以看到是拿到mybatis配置文件中properties節點內容然後執行propertiesElement,我們看到propertiesElement
  • MyBatis Plus 為啥這麼牛?
    thinkYi/p/13723035.html特色正文組件依賴擴展代碼大家有用過MyBatis-Plus(簡稱MP)的都知道它是一個 MyBatis 的增強工具,致力於 MyBatis 的基礎上只做增強不做改變
  • MyBatis系列:框架概要介紹
    2、官網地址https://mybatis.org/mybatis-3/3、為什麼要學習MyBatis框架3.1、ORM【對象關係映射】O:ObjectR:RelationshipM:Mapping作用:就是將Java的面向對象的數據【實體】轉換成MySQL的面向關係的數據【表】3.2、原生態jdbc程序的問題及總結資料庫連接,使用時就創建,不使用立即釋放,對資料庫進行頻繁連接開啟和關閉,造成資料庫資源浪費
  • 用mybatis-plus不會使用樂觀鎖,處理重要數據容易出錯
    如果是悲觀鎖,小李取出數據後,小王只能等小李操作完之後,才能對價格進行操作,也會保證最終的價格是120元。接下來小編將介紹如何在mybatis-plus項目中,添加樂觀鎖。3 創建項目先創建一個集成了mybatis-plus的spring boot項目。
  • Mybatis初始化過程簡單總結
    前面連續多篇文章都是在數據mybatis的初始化過程,目前基本完成,是時候做一個總結了。上圖中只畫出了SqlSessionFactory初始化過程以及mapper的加載過程,由於其他比如Configuration的屬性、別名、插件、數據源配置、類型映射處理器的初始化過程比較簡單並沒有囊括進去。
  • Mybatis的SqlSession創建過程詳解
    前面mybatis的初始化過程分析完成,接下來是第二步SqlSession的創建。執行器類型是一個枚舉對應mybatis提供的三種執行器類型:SIMPLE, REUSE, BATCH。這裡從無參方法入手,可以看到最終傳遞了三個默認參數:默認的執行器類型(在configuration中默認是SIMPLE),默認隔離級別,非自動提交。
  • 小學妹問:Mybatis常見註解有哪些?
    org.mybatis.spring.annotation.MapperScan使用方式@SpringBootApplication@MapperScan("com.tian.mybatis.mapper")public class Application {}
  • 看到Mybatis源碼就感到煩躁,怎麼辦?
    但也許,你在面試官心中的印象就大打折扣了。如果回答看過,並且還能較為流利地說上一番,那面試官或許會在心裡讚嘆:小夥子可以呀!(PS:很多面試官自己也沒看過,或者看過很多也忘了)。總之,你要是能說上個123,那給面試官的印象就會槓槓滴好。何愁工作?何愁加薪?為什麼煩?
  • 使用mybatis框架,完成增刪改查操作
    mybatis框架的繼續學習,安排如下:對昨天學習的內容做個小結,其中補充一個昨天忽視的問題。資料庫無外乎就是增刪改查,所以使用mybatis做一個完整的crud操作。一、mybatis使用步驟回顧主要是涉及到配置文件的編寫,其中又包含核心配置文件和映射文件。創建mybatis-config.xml核心配置文件。
  • 使用mybatis-plus必須掌握的基本技能,自定義SQL和分頁查詢
    1 創建項目先創建一個集成了mybatis-plus的spring boot項目。參考小編的另一篇文章【2 自定義SQLMybatis-plus自帶的條件構造器雖然很強大,在項目實戰的時候,各種複雜的應用場景,你肯定避免不了要寫稍微複雜一點的sql語句,又或者一些朋友習慣通過寫sql來操作數據,那麼小編來說說mybatis-puls是怎麼自定義sql語句。
  • SpringBoot + MyBatis + MySQL讀寫分離實踐!
    AbstractRoutingDataSource基於特定的查找key路由到特定的數據源。它內部維護了一組目標數據源,並且做了路由key與目標數據源之間的映射,提供基於key查找數據源的方法。3. 實踐3.1. maven依賴<?
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python視頻教程 2020年07月08日 11:00作者:黃頁編輯:黃頁
  • mybatis框架之多表高級查詢
    mybatis中的高級查詢,即多表關聯查詢。主要分為:一對一查詢,一對多查詢,多對多查詢,本來打算全學完的,奈何計劃趕不上變化。使用result子標籤也可以將數據表中的欄位和實體類屬性關聯起來:column對應的也就是資料庫中的列名。property對應的也就是實體類的屬性。
  • 「mybatis-plus」什麼是樂觀鎖?如何實現「樂觀鎖」
    一、什麼是樂觀鎖樂觀鎖其實用一句話來形容其作用就是:當要更新一條記錄的時候,希望這條記錄沒有被別人更新,從而實現線程安全的數據更新。結合下場景,記得那是一張庫存表,有一個欄位記錄商品庫存,涉及多個地方都有可能去更新它:程序A 查詢到了這條數據,得到庫存是800,準備+200更新成1000,但是還沒更新。
  • 從0 開始手寫一個 Mybatis 框架,三步搞定!
    我們對上圖進行分析總結:1、mybatis的配置文件有2類mybatisconfig.xml,配置文件的名稱不是固定的,配置了全局的參數的配置,全局只能有一個配置文件。Mapper.xml 配置多個statemement,也就是多個sql,整個mybatis框架中可以有多個Mappe.xml配置文件。
  • 摩登舞零基礎入門基本功訓練
    不要找任何藉口沒時間、沒場地,年齡大了,那只能說你還不夠喜愛摩登舞。 摩登舞0基礎入門基本功訓練(1) 1、早上起床訓練: (1)平板支撐 (2)側面支撐 (3)空中跳傘 (2)仰臥起坐
  • 就這2本實用_西班牙語0基礎入門教材推薦
    如何學好西班牙語,其實很多大神總結下來無非就是練習西班牙語的發音、詞彙、語法,再到聽說讀寫四項,英語在國內起步較早,比如雅思考試就有針對每個模塊的對應的教材,而西班牙語在國內起步較晚,相應教材也比較缺乏,今天我們就給大家盤點並推薦西班牙語0基礎入門教材。西班牙語入門教材推薦 1 《現在西班牙語》