溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

初學mybatis時需要注意這幾樣事項

發布時間:2020-11-09 17:37:22 來源:億速云 閱讀:99 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關初學mybatis時需要注意這幾樣事項,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

什么是mybatis

MyBatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plan Old Java Objects,普通的Java對象)映射成數據庫中的記錄.

orm工具的基本思想

無論是用過的hibernate,mybatis,你都可以法相他們有一個共同點:

1. 從配置文件(通常是XML配置文件中)得到 sessionfactory.

2. 由sessionfactory  產生 session

3. 在session 中完成對數據的增刪改查和事務提交等.

4. 在用完之后關閉session 。

5. 在Java 對象和 數據庫之間有做mapping 的配置文件,也通常是xml 文件。

參數問題

    在映射文件中通過parameterType指定輸入參數的類型;在映射文件中通過resultType指定輸出結果的類型。

占位符和拼接符問題

    #{}表示一個占位符號,#{}接收輸入參數,類型可以是簡單類型,pojo、hashmap。

    如果接收簡單類型,#{}中可以寫成value或其它名稱。

    #{}接收pojo對象值,通過OGNL讀取對象中的屬性值,通過屬性.屬性.屬性...的方式獲取對象屬性值。

    ${}表示一個拼接符號,會引用sql注入,所以不建議使用${}。

    ${}接收輸入參數,類型可以是簡單類型,pojo、hashmap。

    如果接收簡單類型,${}中只能寫成value。

    ${}接收pojo對象值,通過OGNL讀取對象中的屬性值,通過屬性.屬性.屬性...的方式獲取對象屬性值。

selectone和selectList    

初學mybatis時需要注意這幾樣事項

    在我們通過sqlSession進行查詢的時候,可以選擇selectOne和選擇SelectList,這個時候,它們是有區別的。

    selectOne表示查詢出一條記錄進行映射。如果使用selectOne可以實現使用selectList也可以實現(list中只有一個對象)。

    selectList表示查詢出一個列表(多條記錄)進行映射。如果使用selectList查詢多條記錄,不能使用selectOne。

    如果使用selectOne報錯:

    org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 4

看完上述內容,你們對初學mybatis時需要注意這幾樣事項有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女