所以我有一个邮政编码列表,我应该如何将其保存到 mySql 中?我想的是一个 JSON 数组。现在我只能在给定的 JSON 数组中查找特定的邮政编码。
insert into Test values (2, '[22279, 22510, 12345, 65412, 78954]');
我想我会使用 JSON_CONTAINS,但我似乎不知道如何使用它:
SELECT * FROM Test WHERE
JSON_CONTAINS(testJson, 22079);
我在上述查询中遇到此错误:
SELECT * FROM Test WHERE JSON_CONTAINS(testJson, 22079) LIMIT 0, 1000 Error Code: 3146. Invalid data type for JSON data in argument 2 to function json_contains; a JSON string or JSON type is required.
哦,我将如何使用 hibernate 来执行上述查询?
最佳答案
这似乎有效:
SELECT * FROM Test WHERE
JSON_CONTAINS(testJson, '12345');
这也适用于 Postman:
{
"test": {
"id": "5",
"testJson" : "[22079, 22310, 12345, 65412, 78954]"
}
}
Java pojo 看起来像:
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Test {
@Id
private Integer id;
private String testJson;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTestJson() {
return testJson;
}
public void setTestJson(String testJson) {
this.testJson = testJson;
}
}
关于java - 邮政编码列表 - MySql JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473303/