【发布时间】:2019-11-02 04:29:49
【问题描述】:
我正在尝试使用 Java SpringBoot CrudRepository 在 MySQL JSON 列中插入一行。我已经浏览了多个帖子,但无法得到答案。
我将自定义查询定义为:
@Modifying
@Transactional
@Query(value = "insert into cs_test_json(config) values (':data')", nativeQuery = true)
public void setData(@Param("data") String string);
和 MySQL 表(cs_test_json)是:
id int
config JSON
在我的控制器中我写了
JSONObject data = new JSONObject();
data.put("name", "kc");
data.put("age", 28);
data.put("city", "Abad");
repository.setData(data.toString());
当我运行这个应用程序时,我总是得到(在调用 setData 方法时) com.mysql.cj.jdbc.exceptions.MysqlDataTruncation:数据截断:无效的 JSON 文本:“无效值。”在“cs_test_json.config”列的值中的位置 0
请建议我缺少什么。 我正在使用 MySQL 8
非常感谢。
【问题讨论】:
标签: mysql json spring-boot