特點:

          ?

          * mybatis是一種持久層框架,也屬于ORM映射。前身是ibatis。
          * 相比于hibernatehibernate為全自動化,配置文件書寫之后不需要書寫sql語句,但是欠缺靈活,很多時候需要優(yōu)化;
          *
          mybatis為半自動化,需要自己書寫sql語句,需要自己定義映射。增加了程序員的一些操作,但是帶來了設(shè)計上的靈活,并且也是支持hibernate的一些特性,如延遲加載,緩存和映射等;對數(shù)據(jù)庫的兼容性比hibernate差。移植性不好,但是可編寫靈活和高性能的sql語句。
          ?

          簡單易學(xué)
          :本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個sql映射文件易于學(xué)習(xí),易于使用,通過文檔和源代碼,可以比較完全的掌握它的設(shè)計思路和實現(xiàn)。

          靈活:mybatis不會對應(yīng)用程序或者數(shù)據(jù)庫的現(xiàn)有設(shè)計強加任何影響。
          sql寫在xml里,便于統(tǒng)一管理和優(yōu)化。通過sql基本上可以實現(xiàn)我們不使用數(shù)據(jù)訪問框架可以實現(xiàn)的所有功能,或許更多。

          解除sql與程序代碼的耦合:通過提供DAO層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分離,使系統(tǒng)的設(shè)計更清晰,更易維護(hù),更易單元測試。sql和代碼的分離,提高了可維護(hù)性。

          提供映射標(biāo)簽,支持對象與數(shù)據(jù)庫的ORM字段關(guān)系映射

          提供對象關(guān)系映射標(biāo)簽,支持對象關(guān)系組建維護(hù)

          提供XML標(biāo)簽,支持編寫動態(tài)sql。

          優(yōu)缺點:

          1.sql語句與代碼分離,存放于xml配置文件中:

          優(yōu)點:便于維護(hù)管理,不用在java代碼中找這些語句;

          缺點: JDBC方式可以用用打斷點的方式調(diào)試,但是Mybatis不能,需要通過log4j日志輸出日志信息幫助調(diào)試,然后在配置文件中修改。

          2.用邏輯標(biāo)簽控制動態(tài)SQL的拼接:

          優(yōu)點:用標(biāo)簽代替編寫邏輯代碼;

          缺點:拼接復(fù)雜SQL語句時,沒有代碼靈活,拼寫比較復(fù)雜。不要使用變通的手段來應(yīng)對這種復(fù)雜的語句。

          3.查詢的結(jié)果集與java對象自動映射:

          ?

          優(yōu)點:保證名稱相同,配置好映射關(guān)系即可自動映射或者,不配置映射關(guān)系,通過配置列名=字段名也可完成自動映射。

          ?

          缺點:對開發(fā)人員所寫的SQL依賴很強。

          4.編寫原聲SQL:

          優(yōu)點:接近JDBC,比較靈活。

          缺點:對SQL語句依賴程度很高;并且屬于半自動,數(shù)據(jù)庫移植比較麻煩,比如mysql數(shù)據(jù)庫編程Oracle數(shù)據(jù)庫,部分的sql語句需要調(diào)整。

          ?

          ?

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點信息
          問題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                一区二区福利 | 挺进女同学的屁股眼里小说 | 蜜臀精品一区二区三区 | 99riav3国产精品视频 | 天天艹日日干 |