欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

【mybatis】記錄優(yōu)缺點說明-創(chuàng)新互聯(lián)

原理

在這里插入圖片描述

站在用戶的角度思考問題,與客戶深入溝通,找到翼城網站設計與翼城網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、成都做網站、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋翼城地區(qū)。
  1. 讀取mybatis的mybatis-config.xml配置文件
  2. 加載映射文件
  3. 構建SQLSessionFactory會話工廠(工廠模式)
  4. 構建SqlSession會話對象(工廠模式就是創(chuàng)建對象)
  5. Executor執(zhí)行器根據(jù)SqlSession傳遞的參數(shù)動態(tài)地生成需要執(zhí)行的SQL語句操作數(shù)據(jù)庫
優(yōu)點
  1. 簡單容易上手基于sql編程,與jdbc相比減少了一半以上的代碼量,消除了JDBC大量冗余的代碼,不需要手動開關連接;
  2. 由于mybatis使用jdbc來連接數(shù)據(jù)庫,所有只要jdbc支持的數(shù)據(jù)庫mybatis都支持,而jdbc提供了可拓展性,所有只要數(shù)據(jù)庫有針對java的jar包就可以與mybatis兼容。很好的與各個數(shù)據(jù)庫兼容,開發(fā)人員不需要考慮數(shù)據(jù)庫的差異性;
  3. 提供很多第三方插件,能夠與spirng很好的集成;
  4. Mybatis相當靈活,不會對應用程序或者數(shù)據(jù)庫的現(xiàn)有設計強加任何影響,SQL寫在XML里,從程序代碼中徹底分離,解除sql與程序代碼的耦合,便于統(tǒng)一管理和優(yōu)化并可重用;
  5. 提供XML標簽,支持編寫動態(tài)SQL語句;提供映射標簽,支持對象與數(shù)據(jù)庫的ORM字段關系映射;提供對象關系映射標簽,支持對象關系組建維護。
缺點

SQL語句編寫的工作量較大,特別是在字段多和關系表多的時候,體現(xiàn)的淋漓盡致,對開發(fā)人員編寫SQL語句的功底有一定要求;SQL語句依賴于數(shù)據(jù)庫,導致數(shù)據(jù)庫一致性差,不能隨意更換數(shù)據(jù)庫。(采用分數(shù)據(jù)庫寫)

其他

Mybatis通過SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory生成Session,最后由Session來開啟執(zhí)行事務和SQL語句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的,支持JDBC和JTA事務處理。Mybatis是半自動的,它僅有基本的字段映射,對象數(shù)據(jù)以及對象實際關系任然需要通過手寫sql來實現(xiàn)和管理,由于mybatis需要手寫sql,因此與數(shù)據(jù)庫的耦合性直接取決于程序員寫的sql的方法,如果sql不具通用性而用例很多某數(shù)據(jù)庫特性的sql語句,移植性也會隨之降低很多,成本很高。但是,由于mybatis的sql語句都是寫在xml里,這樣優(yōu)化起來方筆,靈活度較高。這里再說一下mybatis緩存機制,Mybatis的二級緩存配置都是在每個具體的表-對象映射中進行詳細配置,這樣針對不同的表可以自動以不同的緩存機制,并且Mybatis可以在命名空間中共享相同的緩存配置和實例,通過cache-ref來實現(xiàn)。

補充

mybatis中#{}${}的區(qū)別:
#{}是預編譯處理,會將sql中的#{}替換為問號【?】,調用PreparedStatement的set方法來賦值
${}是字符串替換,就是把${}替換成變量的值。

使用#{}可以有效的防止sql注入,提供系統(tǒng)安全性。

緩存 一級緩存

基于PerpetualCache的 HashMap 本地緩存,它的聲明周期是和SQLSession一致的,有多個SQLSession或者分布式的環(huán)境中數(shù)據(jù)庫操作,可能會出現(xiàn)臟數(shù)據(jù)。當Session flush或 close 之后,該 Session 中的所有 Cache 就將清空,默認一級緩存是開啟的。

二級緩存

基于PerpetualCache的 HashMap 本地緩存,不同在于其存儲作用域為 Mapper 級別的,如果多個SQLSession之間需要共享緩存,則需要使用到二級緩存,并且二級緩存可自定義存儲源,如 Ehcache。默認不打開二級緩存,要開啟二級緩存,使用二級緩存屬性類需要實現(xiàn) Serializable 序列化接口(可用來保存對象的狀態(tài))。

溫馨提醒:如果有描述不符,可以評論說明,攜手總結歸納

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

網頁題目:【mybatis】記錄優(yōu)缺點說明-創(chuàng)新互聯(lián)
當前網址:http://chinadenli.net/article16/dphodg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供營銷型網站建設定制網站外貿建站網站營銷電子商務云服務器

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網站建設