中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

mybatis怎么實現延遲加載

發布時間:2020-06-03 20:59:23 來源:億速云 閱讀:228 作者:Leah 欄目:編程語言

mybatis怎么實現延遲加載?針對這個問題,今天小編總結這篇有關mybatis實現延遲加載的文章,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。

mybatis的延遲加載就是按需查詢,在需要的時候進行查詢。

有兩張表:

圖書表(book):

mybatis怎么實現延遲加載

圖書類型表(category):

mybatis怎么實現延遲加載

他們之間通過類型id進行關聯,現在我要顯示圖書類型名,點擊類型名再顯示該類型下的所有圖書。

我們可以這樣做在類型實體類里面添加一個屬性存放該類型下的圖書

public class Category {
    private int cid;
    private String cname;
    private List<Book> books;

//省略get set
}

一次性的把圖書類型和圖書查詢出來,Sql語句如下:

   SELECT book.*,cname FROM book,category WHERE book.cid = category.cid

這樣做可以完成功能,但是我們只是需要顯示圖書類型,點擊的時候才顯示該類型的圖書,如果能做到開始只查詢類型,點擊類型的時候再查詢該類型的圖書,就不需要進行兩表聯查了,可以提高查詢的效率,也比較節省內存,這就是延遲加載。

延遲加載如何實現?

mybatis怎么實現延遲加載

1.  Category實體類同上

2.  UserDao.xml:

<mapper namespace="cn.xh.dao.UserDao">
    <select id="findCategoryWithLazingload" resultMap="categoryMap">
        select * from category
    </select>
    <resultMap id="categoryMap" type="cn.xh.pojo.Category">
        <id column="cid" property="cid"></id>
        <result column="cname" property="cname"></result>

        <collection property="books" column="cid" select="findBookWithLazy"></collection>
    </resultMap>

    <select id="findBookWithLazy" parameterType="int" resultType="cn.xh.pojo.Book">
        select * from book where cid = #{cid}
    </select>
</mapper>

只有我們點擊類型的時候才需要查詢該類型下的圖書,所以這里我們沒有用兩表聯查,而是將類型表的查詢語句和圖書表的查詢語句分開。

重點來看下這個配置:

<collection property="books" column="cid" select="findBookWithLazy"></collection>


collection,association是支持延遲加載的,這里的select屬性表示要執行的sql語句,column表示執行sql語句要傳的參數,該參數為select from category查詢出來的字段cid,property=”books”表示查詢出來的結果給到books屬性。

關于mybatis實現延遲加載的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

松溪县| 湖州市| 上杭县| 安陆市| 丘北县| 铅山县| 大冶市| 舟山市| 新源县| 东源县| 甘南县| 长垣县| 华亭县| 上饶市| 井研县| 靖州| 平顺县| 丰都县| 娱乐| 洮南市| 雷山县| 乌拉特前旗| 阳谷县| 叙永县| 左贡县| 剑阁县| 湘潭县| 兰考县| 青阳县| 漳州市| 定州市| 永靖县| 涟源市| 建平县| 鄂温| 堆龙德庆县| 岗巴县| 文成县| 岐山县| 郸城县| 陇南市|