Mybatis-plus的Wrapper中使用MySQL的json函数

使用Wrapper的apply方法
如下代码,假设UserEntity中有一个roles字段是json数组,我们传入参数中有一个role字段,要筛选出是这个role的用户。
apply的用法如下,先是一个字符串,字符串中类似sl4j记录日志,这里使用{0}占位一个参数,后面的参数放这个占的这个坑中。

        QueryWrapper<UserEntity> queryWrapper = new QueryWrapper<UserEntity>()
                .eq(UserEntity.ID, param.getId())
                .like(UserEntity.NAME, param.getName())
                .apply("JSON_SEARCH({0},'one'," + UserEntity.ROLES + ") is not null", param.getRole());

另外如果你使用JPA,也想使用mysql的JSON相关方法,参考我这篇文章:
JPA的Specification中使用mysql5.7之后的JSON相关函数
mybatis-plus的Wrapper.apply()方法的官方文档:
Mybatis-plus条件构造器#apply

你可能感兴趣的:(mybatis-plus,Mysql,json)