MyBatis知多少(13)MyBatis如何解決數據庫的常見問題

  在現代軟件項目中數據庫一般被認爲是遺留組件。它們一直以來都被認爲難以使用,不管是出於技術的仍是非技術的緣由。大多數軟件開發人員寧肯從頭開始完徹底全地重建一個數據庫。 若是數據庫是遺留下來的,相信一些開發人員會真心地但願負有此責的,只惋惜兩種狀況都是不實際的,也不可能發生。不論你是否相信,數據庫的存在總有它本身的理由——不論這個理由是否充分。多是數據庫變動的代價過高了,也多是由於有其餘系統依賴於該數據庫。不論數據庫被質疑的緣由如何,咱們都應該學會如何高效地與任何類型(包括飽受非議)的數據庫打交道。MyBatis的開發主要就是爲了對付那些設計非 常複雜甚至很是糟糕的數據庫。如下描述數據庫常常遇到的一些問題以及MyBatis是如何幫助解決這些問題的。html

全部權與控制數據庫

在現代企業環境中,數據庫存在的第一個同時也是最主要的困難其實徹底不是技術問題,而是大多數現代軟件企業都將數據庫的全部權和責任從應用程序開發團隊中分離了出來這樣一個事實。數據庫一般都是徹底由企業中的一個獨立小組所擁有。若是幸運的話,這個小組可能會與你的項目團隊協同工做一塊兒開發軟件。不然,你的項目團隊與數據庫小組之間就可能存在一堵 「牆」,你全部的需求都必須越過這堵牆傳遞給對方,而後指望它們可以被接收到而且獲得理解。 多麼可悲啊,但事實就是這樣,而且它一直都在發生着。編程

要和數據庫團隊打交道一般都是一件很是困難的事情。主要緣由就在於他們每每都承受着巨大的壓力且處理的項目不止一個。他們常常須要處理大量的需求,有時這些需求甚至多是衝突的。數據庫系統的管理的確是一項很是困難的任務,所以許多公司都認爲它是一項相當重要的職責企業數據庫系統的崩潰是會驚動該企業的CEO的。所以,數據庫管理團隊一般都很是謹慎。 數據庫系統的變動控制流程一般都比應用程序代碼的變動控制流程要嚴格得多。數據庫的某些變 更可能會須要數據轉移。其餘一些變動則可能須要進行大量的測試以保證它們對性能不會形成影 響。數據庫團隊難以交往看來的確是有理由的,所以若是可能,能幫幫他們就幫幫他們吧。數據庫設計

當須要進行數據庫設計以及數據庫交互時,MyBatis一般能帶來極大的靈活性。DBA都但願可以看到將在他們的數據庫上運行的SQL,對於複雜的查詢,他們甚至可能能夠幫忙調整一下,而MyBatis使這種但願成爲了現實。一些使用MyBatis的開發團隊甚至擁有一個DBA或者數據建模人員來幫助他們直接維護MyBatis的SQL文件。數據庫管理員和SQL編程人員要理解MyBatis絕對沒有 問題,由於背地裏絕對不會發生任何意想不到的事情,他們能夠看到全部的SQL語句。性能

系列文章:測試

MyBatis知多少(1)spa

MyBatis知多少(2)設計

MyBatis知多少(3)htm

MyBatis知多少(4)MyBatis的優點對象

MyBatis知多少(5)業務對象模型

MyBatis知多少(6)表現層與業務邏輯層

MyBatis知多少(7)持久層

MyBatis知多少(8)關係型數據庫

MyBatis知多少(9)不一樣類型的數據庫

MyBatis知多少(10)應用程序數據庫

MyBatis知多少(11)企業數據庫

MyBatis知多少(12)私有數據庫

相關文章
相關標籤/搜索