Java MySQL插入Gson日期
如果我已经使用gson将一个类序列化为包含日期的json,那么如何使用MyBatis将json的值插入h2或MySQL数据库 下面的json是使用以下代码构建的: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
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日期。