欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎樣使用MyBatis輕松實(shí)現(xiàn)遞歸查詢與存儲(chǔ)過程調(diào)用

怎樣使用MyBatis輕松實(shí)現(xiàn)遞歸查詢與存儲(chǔ)過程調(diào)用,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

成都創(chuàng)新互聯(lián)公司是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),網(wǎng)絡(luò)空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,南充服務(wù)器托管,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

遞歸調(diào)用

由于部門的層級(jí)不可控,因此如果我想要獲取所有部門的完整json的話,就要采用遞歸調(diào)用,使用Java代碼處理遞歸有點(diǎn)low,剛好MyBatis的ResultMap中的collection可以很方便的解決這個(gè)問題,核心代碼如下:

<resultMap id="BaseResultMap" type="org.sang.bean.Department">
    <id property="id" column="id"/>
    <result column="name" property="name"/>
    <result column="parentId" property="parentId"/>
    <result column="isParent" property="isParent"/>
    <collection property="children" ofType="org.sang.bean.Department" select="org.sang.mapper.DepartmentMapper.getDepByPid" column="id">
    </collection>
</resultMap>
<select id="getDepByPid" resultMap="BaseResultMap">
    select d1.*from department d1 where d1.`parentId`=#{pid} AND d1.enabled=true;
</select>

每一個(gè)Department中都有一個(gè)children屬性,getDepByPid方法的返回結(jié)果是一個(gè)BaseResultMap,BaseResultMap中的collection又將調(diào)用getDepByPid方法,通過這種方式我們可以快速實(shí)現(xiàn)一個(gè)遞歸調(diào)用。Mapper中只需要定義如下方法即可:

List<Department> getDepByPid(Long pid);

查詢結(jié)果如下(部分):

[
    {
        "id": 1,
        "name": "股東會(huì)",
        "parentId": -1,
        "enabled": true,
        "children": [
            {
                "id": 4,
                "name": "董事長(zhǎng)",
                "parentId": 1,
                "enabled": true,
                "children": [
                    {
                        "id": 5,
                        "name": "總經(jīng)理",
                        "parentId": 4,
                        "enabled": true,
                        "children": [
                            {
                                "id": 8,
                                "name": "財(cái)務(wù)部",
                                "parentId": 5,
                                "enabled": true,
                                "children": [],
                                "parent": false
                            }],
                        "parent": true
                    }
                ],
                "parent": true
            }
        ],
        "parent": true
    }
]

存儲(chǔ)過程調(diào)用

存儲(chǔ)過程調(diào)用比較簡(jiǎn)單,以添加部門為例,如下:

1.Mapper中添加如下方法:

void addDep(@Param("dep") Department department);

2.xml中寫法如下:

<select id="addDep" statementType="CALLABLE">
    call addDep(#{dep.name,mode=IN,jdbcType=VARCHAR},#{dep.parentId,mode=IN,jdbcType=INTEGER},#{dep.enabled,mode=IN,jdbcType=BOOLEAN},#{dep.result,mode=OUT,jdbcType=INTEGER},#{dep.id,mode=OUT,jdbcType=BIGINT})
</select>

注意statementType調(diào)用表示這是一個(gè)存儲(chǔ)過程,mode=IN表示這是輸入?yún)?shù),mode=OUT表示這是輸出參數(shù),調(diào)用成功之后,在service中獲取department的id和result字段,就能拿到相應(yīng)的調(diào)用結(jié)果了。

看完上述內(nèi)容,你們掌握怎樣使用MyBatis輕松實(shí)現(xiàn)遞歸查詢與存儲(chǔ)過程調(diào)用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章標(biāo)題:怎樣使用MyBatis輕松實(shí)現(xiàn)遞歸查詢與存儲(chǔ)過程調(diào)用
文章URL:http://aaarwkj.com/article16/peiggg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管網(wǎng)站改版、網(wǎng)頁(yè)設(shè)計(jì)公司、云服務(wù)器、做網(wǎng)站外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
日韩av毛片在线观看| 日韩欧美中文字幕综合网| 亚洲成人av网址大全| 未满十八勿进黄网观看| 亚洲高清精品一区二区| 亚洲欧美午夜福利视频| 亚洲精品成人午夜久久| 亚洲一区制服无码中文| 国产亚洲精品热视频在线观看 | 亚洲一区日韩精品颜射 | 国产乱人伦真实精品视频| 欧美老熟妇精品一区二区| 放荡精品少妇一区二区三区| 粉嫩美女精品一区二区| 视频一区二区视频三区| 真做的欧美三级在线观看| 高清中文字幕一区二区三区| 我要看黄色一级性生活片| 2023国产精品一区| 青青草老司机在线视频| 美女性生活免费视频网站 | 东京男人的天堂国产av| 亚洲av第一区国产精品| 大神厕所偷拍美女尿尿| 亚洲一区二区三区经典精品| 99热这里只有精品56| 开心久久婷婷综合中文字幕| 伊在人亚洲香蕉精品区| 人妻中出中文字幕一区| 在线免费观看91亚洲| 青青青久热国产精品视频| 日本人妻丰满熟妇久久| 99久久久国产精品蜜臀| 日韩在线欧美在线一区二区| 97超碰国产在线观看| 亚洲成人黄色在线网站| 日本午夜福利免费在线播放| 亚洲福利一区二区在线| 91av国产一区二区| 黄色录像三级黄色录像三级黄色| 精品人妻一区二区三区|