1. MyBatis Plus中的Like查詢

在實際開發(fā)中,我們經(jīng)常需要根據(jù)某些關(guān)鍵詞進行模糊查詢,這時就需要用到Like查詢。MyBatis Plus為我們提供了多種方式來實現(xiàn)Like查詢,下面我們將一一介紹。

2. 使用wrapper進行Like查詢

MyBatis Plus提供了QueryWrapper類來幫助我們構(gòu)建復(fù)雜的查詢條件,其中就包括了Like查詢。我們可以通過調(diào)用likexx()系列方法來實現(xiàn)模糊查詢。例如:

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "張");

這樣就可以查詢出名字中包含"張"字的所有用戶。同時,我們還可以使用notLike()、likeLeft()、likeRight()等方法來滿足不同的查詢需求。

3. 使用注解實現(xiàn)Like查詢

除了使用QueryWrapper,MyBatis Plus還支持在Mapper接口方法上添加注解來實現(xiàn)Like查詢。我們只需要在方法參數(shù)上加上@Param注解,并在SQL語句中使用#{param}占位符即可。例如:

@Select("select * from user where name like concat('%', #{name}, '%')")
List<User> findByNameLike(@Param("name") String name);

這樣就可以通過一個簡單的方法實現(xiàn)模糊查詢了。

4. 使用Service層進行Like查詢

有時我們需要在Service層進行復(fù)雜的查詢邏輯,這時可以利用MyBatis Plus提供的IService接口。我們可以在ServiceImpl中重寫相關(guān)方法,并在其中使用QueryWrapper來實現(xiàn)Like查詢。例如:

public List<User> findByNameLike(String name) {
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.like("name", name);
    return baseMapper.selectList(queryWrapper);
}

這樣就可以在Service層中輕松地實現(xiàn)模糊查詢了。

5. 使用分頁功能進行Like查詢

在實際開發(fā)中,我們通常需要對查詢結(jié)果進行分頁顯示。MyBatis Plus為我們提供了內(nèi)置的分頁功能,我們可以很方便地將其與Like查詢結(jié)合使用。例如:

// 創(chuàng)建分頁對象
Page<User> page = new Page<>(currentPage, pageSize);
// 構(gòu)建查詢條件
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "張");
// 執(zhí)行分頁查詢
IPage<User> userPage = baseMapper.selectPage(page, queryWrapper);

這樣就可以實現(xiàn)分頁的模糊查詢了。

6. 其他Like查詢技巧

除了上述方法,MyBatis Plus還提供了一些其他的技巧來實現(xiàn)Like查詢。例如,我們可以在Mapper接口中使用#{}占位符來拼接SQL語句,或者通過自定義SQL語句來實現(xiàn)更復(fù)雜的查詢需求。同時,我們還可以利用MyBatis Plus的靈活性,將Like查詢與其他查詢條件結(jié)合使用,以滿足更加復(fù)雜的業(yè)務(wù)需求。

總之,MyBatis Plus為我們提供了多種方式來實現(xiàn)模糊查詢,無論是在Mapper、Service還是Controller層,都可以輕松地實現(xiàn)Like查詢。通過合理地使用這些功能,我們可以大大提高開發(fā)效率,并且能夠更靈活地滿足業(yè)務(wù)需求。