溫馨提示×

溫馨提示×

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

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

?mybatis實現(xiàn)like查詢的方法

發(fā)布時間:2020-07-03 15:19:17 來源:億速云 閱讀:250 作者:元一 欄目:編程語言

這篇文章運(yùn)用簡單易懂的例子給大家介紹mybatis實現(xiàn)like查詢的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis 最強(qiáng)大的特性之一就是它的動態(tài)語句功能。

mybatis 自動生成的 like 查詢,需要自己給參數(shù)添加 %,因為 mybatis 不會自動添加%號的,這是 mybatis 為了提供最大的靈活性決定的,因為 mybatis 并不知道我是要在哪一個位置添加 %。

從此我們可以舉一反三,凡是類似這類的問題,mybatis都不會自動的給我們添加我們期望的符號,因為它不知道該在哪里添加,這種添加反而變成了畫蛇添足。

    public PageInfo<StationCardPreBo> findStationCardPres(
            StationCardPreQueryBo stationCardPreQueryBo, PageBo pageBo) {
        StationCardPreQuery query = new StationCardPreQuery();
        Criteria criteria = query.createCriteria();
        if (stationCardPreQueryBo.getId() != null) {
            criteria.andIdEqualTo(stationCardPreQueryBo.getId());
        }
        if (stationCardPreQueryBo.getStationNo() != null) {
            criteria.andStationNoLike("%" + stationCardPreQueryBo.getStationNo() + "%");
        }
        if (stationCardPreQueryBo.getCardNo() != null) {
            criteria.andCardNoLike("%" + stationCardPreQueryBo.getCardNo()+ "%");
        }

        // 設(shè)置分頁參數(shù)
        PageHelper.startPage(pageBo.getPageNum(), pageBo.getPageSize());
        List<StationCardPre> list = stationCardPreMapper.selectByExample(query);

        PageInfo<StationCardPre> tempPageInfo = new PageInfo<>(list);

        PageInfo<StationCardPreBo> resultPage = new PageInfo<StationCardPreBo>();
        BeanMapper.copy(tempPageInfo, resultPage);

        if (CollectionUtils.isNotEmpty(list)) {
            resultPage
                    .setList(BeanMapper.mapList(list, StationCardPreBo.class));
        }

        return resultPage;
    }

退一步講,如果你不知道m(xù)ybatis最后給我們拼接的 sql 語句是什么的話,你可以打印出來 mysql 最后給我們拼接完的語句,或者是我們可以在 mysql 的拼接處打上斷點(diǎn),這樣我們就可以查看我們的sql語句了,從這里分析問題的最終原因。

mybatis sql 構(gòu)造位置:

?mybatis實現(xiàn)like查詢的方法

關(guān)于mybatis實現(xiàn)like查詢的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI