【Java中间件】mybatis-plus中的like用法总结(like、likeRight、likeLeft)

在使用mybatis-plus条件构造器的likeLeft和likeRight方法时,发现和自己想的恰恰相反!下面介绍了like、likeLeft、likeRight三种方式的不同!

1. like

在填入参数的左右两侧都加上通配符%

举例:Person类中有一个属性为date,下面是具体的值:

2022010101
2022010203
2022010302
2022020102
2022020204
2022020301

wrapper = Wrappers.lambdaQuery(Person.class).like(Person::getDate, '01');
this.list(wrapper);

上面会查出所有包含01的数,结果为:

2022010101
2022010203
2022010302
2022020102
2022020301

2. likeLeft

在填入参数的左侧加上通配符%

举例:Person类中有一个属性为date,下面是具体的值:

2022010101
2022010203
2022010302
2022020102
2022020204
2022020301

wrapper = Wrappers.lambdaQuery(Person.class).likeLeft(Person::getDate, '01');
this.list(wrapper);

上面会查出所有以01结尾的数,结果为:

2022010101
2022020301

3. likeRight

在填入参数的右侧加上通配符%

举例:Person类中有一个属性为date,下面是具体的值:

2022010101
2022010203
2022010302
2022020102
2022020204
2022020301

wrapper = Wrappers.lambdaQuery(Person.class).likeRight(Person::getDate, '202201');
this.list(wrapper);

上面会查出所有以202201开头的数,结果为:

2022010101
2022010203
2022010302

4. 查看MP的源码

public static String concatLike(Object str, SqlLike type) {
        switch (type) {
            case LEFT:
                return "%" + str;
            case RIGHT:
                return str + "%";
            default:
                return "%" + str + "%";
        }
    }

你可能感兴趣的:(Java,java,mybatis,开发语言)