Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySQL插入Gson日期_Java_Mysql_Gson_Mybatis - Fatal编程技术网

Java MySQL插入Gson日期

Java MySQL插入Gson日期,java,mysql,gson,mybatis,Java,Mysql,Gson,Mybatis,如果我已经使用gson将一个类序列化为包含日期的json,那么如何使用MyBatis将json的值插入h2或MySQL数据库 下面的json是使用以下代码构建的: Bean bean = new Bean(); bean.setIsPublished(true); bean.setPublicationDate(Calendar.getInstance().getTime()); Gson gson = new GsonBuilder().setDateFormat("yyyy-mm-dd-hh

如果我已经使用gson将一个类序列化为包含日期的json,那么如何使用MyBatis将json的值插入h2或MySQL数据库

下面的json是使用以下代码构建的:

Bean bean = new Bean();
bean.setIsPublished(true);
bean.setPublicationDate(Calendar.getInstance().getTime());
Gson gson = new GsonBuilder().setDateFormat("yyyy-mm-dd-hh:mm:ss").create();
String json = gson.toJson(bean);
这使得json:

{
   "isPublished":true,
   "publicationDate":"2013-55-10-09:55:07"
}
但是当我将这个json传递给我的insert语句(使用spring的@RequestBody来构造Bean)时,服务返回400:Bad语法

以下是MyBatis映射器的insert语句:

INSERT INTO beans (isPublished, publicationDate)
VALUES (#{isPublished}, parseDateTime(#{publicationDate}, 'yyyy-mm-dd-hh:mm:ss');

当我尝试插入解析后的json日期时,出现了一些问题,但我不确定是什么问题。

只需使用Mysql date\u格式函数,让数据库为您执行即可

 date_format( #{publicationDate, jdbcType=VARCHAR}, '%Y-%m-%d-%H-%i-%s' )

你想在布尔值上解析DateTime?对不起,输入错误。我已经更新了。应用程序从未命中你的insert语句,它无法反序列化你的JSON日期。