当前位置: 首页 > 工具软件 > Ebean > 使用案例 >

java ebean 用jsonEqualTo 查询mysql的json字段

闾丘诚
2023-12-01

场景:

java ebean,将实体类或者Map存储在mysql的json字段中,然后要对该json字段进行查询。

解决方案:

用ebean的jsonEqualTo方法,直接上代码:

        ExpressionList<Process> expression = db.find(Process.class).where();
        expression.jsonEqualTo("successResult", "code", 0);
        System.out.println(expression.findList());

分析:

查看ebean官方文档对查询json字段的说明:
https://ebean.io/docs/features/json-in-db

/**
 * Equal to expression for the value at the given path in the JSON document.
 */
ExpressionList<T> jsonEqualTo(String propertyName, String path, Object value);

其中

  • propertyName是字段名
  • path是key的名称,如果嵌套多层,则用key1.key2…keyn表示
  • value是要匹配的关键词。

比如我的mysql表中有一个字段json字段名为successResult,格式是:

{
	"code": 0,
	"status": "success"
}

我要查询successResult字段中code为0的记录,那么我调用ebean的方法就是:
jsonEqualTo(“successResult”, “code”, 0);

 类似资料: