java ebean,将实体类或者Map存储在mysql的json字段中,然后要对该json字段进行查询。
解决方案:用ebean的jsonEqualTo方法,直接上代码:
expressionList分析: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
expressionListjsonEqualTo(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);



