91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

辽中县| 舟山市| 巴中市| 宜昌市| 唐山市| 富川| 昭平县| 汨罗市| 开封市| 龙口市| 青铜峡市| 凯里市| 桂平市| 通河县| 雷州市| 嘉义县| 扎赉特旗| 岗巴县| 响水县| 红原县| 深州市| 慈溪市| 双牌县| 江口县| 安顺市| 宣威市| 铜川市| 三台县| 连州市| 普陀区| 嘉荫县| 花莲市| 富顺县| 柘荣县| 太康县| 尚志市| 修文县| 曲阜市| 当涂县| 称多县| 牡丹江市|