這篇文章運(yùn)用簡單易懂的例子給大家介紹mybatis實現(xiàn)like查詢的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都做網(wǎng)站、網(wǎng)站制作的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)一個展示的機(jī)會來證明自己,這并不會花費(fèi)您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。MyBatis 是支持普通 SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis 消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis 最強(qiáng)大的特性之一就是它的動態(tài)語句功能。
mybatis 自動生成的 like 查詢,需要自己給參數(shù)添加 %,因為 mybatis 不會自動添加%號的,這是 mybatis 為了提供大的靈活性決定的,因為 mybatis 并不知道我是要在哪一個位置添加 %。
從此我們可以舉一反三,凡是類似這類的問題,mybatis都不會自動的給我們添加我們期望的符號,因為它不知道該在哪里添加,這種添加反而變成了畫蛇添足。
public PageInfofindStationCardPres( 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 list = stationCardPreMapper.selectByExample(query); PageInfo tempPageInfo = new PageInfo<>(list); PageInfo resultPage = new PageInfo (); BeanMapper.copy(tempPageInfo, resultPage); if (CollectionUtils.isNotEmpty(list)) { resultPage .setList(BeanMapper.mapList(list, StationCardPreBo.class)); } return resultPage; }
退一步講,如果你不知道m(xù)ybatis最后給我們拼接的 sql 語句是什么的話,你可以打印出來 mysql 最后給我們拼接完的語句,或者是我們可以在 mysql 的拼接處打上斷點,這樣我們就可以查看我們的sql語句了,從這里分析問題的最終原因。
mybatis sql 構(gòu)造位置:
關(guān)于mybatis實現(xiàn)like查詢的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。