MyBatis plus之foreach、like、likeRigth、likeLeft

1. foreach

Mybatis Plus提供了foreach标签来简化在查询语句中使用in语句的操作。通过foreach可以将一个集合中的元素拼接成一个逗号分隔的字符串,并将其作为in语句的参数。

例如,我们可以使用foreach来生成一个动态的IN条件,查询符合多个条件的记录:

List<Integer> idList = Arrays.asList(1, 2, 3);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.in("id", idList);

List<User> userList = userMapper.selectList(queryWrapper);

在上述代码中,我们通过selectList方法查询了id在1、2、3之间的用户记录。其中,in方法会动态生成一个IN条件,使用了foreach功能。

在SQL语句中,会生成以下代码:

SELECT * FROM user WHERE id IN (1, 2, 3)

可以看到,使用foreach可以很方便地动态生成IN条件,避免了手动拼接SQL字符串的麻烦。

另外,MyBatis Plus的foreach还支持其他功能,比如可以指定集合对象的属性和字段进行匹配,指定分隔符等。具体使用方法可以参考MyBatis Plus的官方文档。

注意,在使用foreach标签时,需要保证集合参数的名称和集合中对象的属性名称一致。例如,上述示例中的idList参数名称需要和User对象中的id属性名称一致。

除了上述示例中的in语句,foreach标签还可以用于其他类型的语句,例如update和delete语句中的set语句。

2. like

在MyBatis plus中,使用like查询可以使用like方法来实现。

例如,假设我们有一个表格user,其中有一个username字段,我们想要查询username字段中包含某个关键字的数据,可以使用以下代码:

String keyword = "admin";
List<User> userList = userMapper.selectList(new QueryWrapper<User>().like("username", keyword));

以上代码中,userMapper是MyBatis plus生成的Mapper接口,User是实体类,username是表格user中的字段名。new QueryWrapper<User>().like("username", keyword)表示创建一个查询条件,使用like方法指定查询的字段和关键字。

3. likeLeft

使用likeLeft方法来实现左模糊查询,例如:

List<User> userList = userMapper.selectList(new QueryWrapper<User>().likeLeft("username", keyword));

以上代码中,likeLeft方法表示左模糊查询,即查询username字段以关键字开头的数据。

4. likeRight

使用likeRight方法来实现左模糊查询,例如:

List<User> userList = userMapper.selectList(new QueryWrapper<User>().likeRight("username", keyword));

以上代码中,likeRight方法表示右模糊查询,即查询username字段以关键字结尾的数据。

需要注意的是,上述代码中的userMapper需要根据实际情况进行替换,可以是自动生成的Mapper接口,也可以是手动创建的Mapper接口的实现类。在MyBatis plus中,使用like查询可以使用like方法来实现。

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值