国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MyBatis理解與掌握(簡介)

Pocher / 2126人閱讀

摘要:語句在代碼中硬編碼,造成代碼不易于維護,實際應用變化的可能較大,變動需要改變代碼。對結果集解析存在硬編碼查詢列名,變化導致解析代碼變化,系統不易于維護,如果能將數據庫記錄封裝成對象解析比較方便。

MyBatis理解與掌握(簡介)

@(MyBatis)[Java, 框架, MyBatis]

簡介

??Mybatis是一個數據持久層框架,MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或者注解用于配置和原始映射,將接口和Java的POJO(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄通過一系列的XML配置文件,解耦了對象和存儲過程/SQL語句。
因為MyBatis面向的是SQL,所以有時也稱之為SQL映射器

與JDBC比較

(1)數據庫連接創建、釋放頻繁造成系統資源浪費 從而影響系統性能,如果使用數據庫連接池可解決此問題。
解決:在mybatis-config.xml中配置了數據連接池,方便使用了連接池管理數據庫鏈接。

(2)Sql語句在代碼中硬編碼 ,造成代碼不易于維護,實際應用sql變化的可能較大,sql變動需要改變Java代碼。
解決:將Sql語句配置在映射文件(xxxmapper.xml)中,實現sql語句和Java代碼的分離。

(3)使用preparedStatement向占有位符號傳參數存在硬編碼 ,因為sql語句的where條件不一定,可能多也可能少,修改sql還需要修改代碼,系統不易于維護。
解決:Mybatis自動將Java對象映射至sql語句,通過statement中的parameterType定義輸入參數類型。

(4)對結果集解析存在硬編碼 (查詢列名),sql變化導致解析代碼變化,系統不易于維護,如果能將數據庫記錄封裝成pojo對象解析比較方便。
解決:Mybatis自動將sql執行結果映射至Java對象,通過statement中的resultType定義輸出結果的類型。

與Hibernate比較

Mybatis學習門檻低, 簡單易學 ,程序員直接編寫原生態sql,可嚴格控制sql執行性能, 靈活度高 ,非常適合對關系數據模型要求不高的軟件開發,例如互聯網軟件、企業運營類軟件等,因為這類軟件需求變化頻繁,一旦需求變化要求成果輸出迅速。
但是Mybatis 無法做到數據庫無關性 ,如果需要實現支持多種數據庫的軟件則需要自定義多套sql映射文件,工作量大。

Hibernate 對象/關系映射能力強數據庫無關性好 ,對于關系模型要求高的軟件(例如需求固定的定制化軟件)如果用Hibernate開發可以節省很多代碼,提高效率。但是Hibernate 學習門檻高,要精通門檻更高,而且怎么設計O/R映射,在性能和對象模型之間如何權衡,以及怎么用好Hibernate需要具有很強的經驗和能力才行。

總之,按照用戶的需求在有限的資源環境下只能做出威化擴展性良好的軟件架構都是好架構,所以框架只有適合才是最好的。

配置文件區別:

hibernate:

主配置文件:數據庫連接信息,方言,映射文件信息

實體類配置文件:類和表之間的映射關系

Mybatis:

主配置文件:數據庫連接信息,映射文件信息

SQL映射文件:將執行的SQL進行關聯映射

Mybatis和Hibernate不同,它不完全是一個ORM框架,因為Mybatis需要程序員自己編寫sql語句,不過Mybatis可以通過xml或注解方式靈活配置要運行的sql語句,并將Java對象和sql語句映射生成最終執行的sql,最后將sql執行的結果再映射生成Java對象

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/77065.html

相關文章

  • MyBatis理解掌握(入門例子)

    摘要:的實例不是線程安全的,因此是不能被共享的,所以它的最佳的作用域是請求或方法作用域。下面的示例就是一個確保關閉的標準模式依賴注入框架可以創建線程安全的基于事務的和映射器并將它們直接注入到你的中,因此可以直接忽略它們的生命周期。 MyBatis理解與掌握(入門例子) @(MyBatis)[Java, 框架, MyBatis] 配置文件 mybatis-config.xml ...

    lufficc 評論0 收藏0
  • MyBatis理解掌握(緩存)

    摘要:理解與掌握緩存框架一級緩存默認就可以使用框架處理緩存是依賴映射,的內部緩存使用一個,為語句。一級緩存的作用域是一個,一旦發生變化,一級緩存失敗在同一個中,執行相同的查詢,第一次會去查詢數據庫,并寫到緩存中第二次直接從緩存中取。 MyBatis理解與掌握(緩存) @(MyBatis)[Java, 框架, MyBatis] 一級緩存(SqlSession) 默認就可以使用 框架處理緩存是 ...

    馬龍駒 評論0 收藏0
  • MyBatis理解掌握(輸入輸出)

    摘要:輸入參數類型指定輸入參數類型,通過從輸入對象中獲取參數值放置在中。查詢結果處理指定輸出結果類型,將查詢結果的一行記錄數據映射為指定類型的對象。 MyBatis理解與掌握(輸入與輸出) @(MyBatis)[Java, 框架, MyBatis] 占位符和拼接 {}:占位符 能防止sql注入問題,所一能盡量用#{}就盡量用#{}用來傳入參數,sql在解析的時候會加上 當成字符串來解析 ,...

    why_rookie 評論0 收藏0
  • 70 個 Spring 最常見面試題,Java 晉升必會

    摘要:容器自動完成裝載,默認的方式是這部分重點在常用模塊的使用以及的底層實現原理。 對于那些想面試高級 Java 崗位的同學來說,除了算法屬于比較「天方夜譚」的題目外,剩下針對實際工作的題目就屬于真正的本事了,熱門技術的細節和難點成為了主要考察的內容。 這里說「天方夜譚」并不是說算法沒用,不切實際,而是想說算法平時其實很少用到,甚至面試官都對自己出的算法題一知半解。 這里總結打磨了 70 道...

    Ashin 評論0 收藏0
  • MyBatis理解掌握(動態SQL)

    摘要:理解與掌握動態框架就是簡單的條件判斷,利用語句我們可以實現某些簡單的條件選擇。有了元素我們就可以動態的更新那些修改了的字段。 MyBatis理解與掌握(動態SQL) @(MyBatis)[Java, 框架, MyBatis] if if 就是__簡單的條件判斷 __,利用if語句我們可以實現某些簡單的條件選擇。先來看如下一個例子: select * from user whe...

    blankyao 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<