zoukankan      html  css  js  c++  java
  • 关于MySQL的like模糊查询

    一、like(完全模糊,即“like '%val%'”)

    实例:查询用户名称中包含“王”值的用户信息,如下:

    QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
    wrapper.like("name", "王"); // 等价 SQL 语句:name like '%王%'

    二、notLike(完全模糊取非,即“not like '%val%'”)

    实例:查询用户包含“王”值的用户信息,如下:

    QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
    wrapper.notLike("name", "王"); // 等价 SQL 语句:name not like '%王%'

    三、likeLeft(仅左边模糊,即“like '%val'”)

    实例:查询用户名以“王”值结束的用户信息列表,如下:

    QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
    wrapper.likeLeft("name", "王"); // 等价 SQL 语句:name like '%王'

    四、likeRight(仅右边模糊,即“like 'val%'”)

    实例:查询用户名以“王”值开始的用户信息列表,如下:

    QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
    likeRight("name", "王"); // 等价 SQL 语句:name like '王%'

    五、示例代码

    package com.hxstrive.mybatis_plus.simple_mapper.condition;
     
    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    import com.hxstrive.mybatis_plus.mapper.SimpleMapper;
    import com.hxstrive.mybatis_plus.model.UserBean;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    import java.util.List;
     
    @RunWith(SpringRunner.class)
    @SpringBootTest
    class Condition7Test {
     
        @Autowired
        private SimpleMapper simpleMapper;
     
        @Test
        void contextLoads() {
            System.out.println("================== 分割线 (like '%佳%') ===================");
            QueryWrapper<UserBean> wrapper = new QueryWrapper<>();
            wrapper.like("name", "佳");
            List<UserBean> userBeanList = simpleMapper.selectList(wrapper);
            for(UserBean userBean : userBeanList) {
                System.out.println(userBean);
            }
     
            System.out.println("================== 分割线 (not like '%佳%') ===================");
            wrapper = new QueryWrapper<>();
            wrapper.notLike("name", "佳");
            userBeanList = simpleMapper.selectList(wrapper);
            System.out.println("result size=" + userBeanList.size());
            for(int i = 0; i < (userBeanList.size() > 10 ? 10 : userBeanList.size()); i++) {
                System.out.println(userBeanList.get(i));
            }
     
            System.out.println("================== 分割线 (like '黄%') ===================");
            wrapper = new QueryWrapper<>();
            wrapper.likeRight("name", "黄");
            userBeanList = simpleMapper.selectList(wrapper);
            for(UserBean userBean : userBeanList) {
                System.out.println(userBean);
            }
     
            System.out.println("================== 分割线 (like '%佳') ===================");
            wrapper = new QueryWrapper<>();
            wrapper.likeLeft("name", "佳");
            userBeanList = simpleMapper.selectList(wrapper);
            for(UserBean userBean : userBeanList) {
                System.out.println(userBean);
            }
        }
     
    }
  • 相关阅读:
    Mvvm combobox绑定Dictionary问题
    类型转化方法(处理System.Nullable类型)
    linq 动态查询
    VS 2005 / 2008 / 2010 能否继续使用 ASP.NET 1.x版的DataGrid ????
    使用 Using...End Using区块来写程序,要非常小心!
    [习题]TreeView、Menu、SiteMapPath #2 多国语系 /当地语系 / Localization
    Repeater,不用自己写循环 (Loop)
    [习题]给初学者的范例,多重字段搜寻引擎 for GridView,兼论 SqlDataSource与SelectParameter的用法
    ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)「勘误表」、补充习题与档案下载
    Windows Vista / 7减少不必要的服务、最佳化(优化)
  • 原文地址:https://www.cnblogs.com/ZJOE80/p/15741706.html
Copyright © 2011-2022 走看看