Mybatis-Plus中怎么使用MySQL的内置函数

2023-12-27 19:19:30

使用MySQL的内置函数处理数据很方便,但是通过Mybatis-Plus去使用内置函数,而不想通过在xml里面写SQL,那我们应该怎么做呢?
假设我想使用MySQL的FIND_IN_SET函数:

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

public class YourService {
    public void yourQueryMethod() {
        // 假设你要查询字段 field,值为 value,使用 FIND_IN_SET 函数
        String value = "someValue";

        LambdaQueryWrapper<YourEntity> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(YourEntity::getField, value)
               .apply("FIND_IN_SET({0}, field)", value);

        List<YourEntity> result = yourMapper.selectList(wrapper);

        // 处理查询结果
    }
}

在上面的例子中,.apply(“FIND_IN_SET({0}, field) > 0”, value) 部分是使用 FIND_IN_SET 函数的地方,其中 {0} 会被 value 替换。通过.apply() 你可以根据实际需要调用其他 MySQL 的内置函数,以此类推。

文章来源:https://blog.csdn.net/iamlihongwei/article/details/135252376
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。