大佬教程收集整理的这篇文章主要介绍了spring – JodaTime和BeanPropertySqlParameterSource,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
情况是这样的:
POSTGResql数据库表有一个字段dateAdded,它是时间戳
Pojo模型对象将此字段映射为
class Mymodel{
org.joda.time.datetiR_714_11845@e dateAdded;
}
我的Dao实现是在Spring JDBC Template中,它如下:
sqlParametersource parameters = new BeanPropertysqlParametersource(patient);
jdbcInsert.execute(parameters);
我从客户端读取模型并使用@model构建对象.到目前为止一切都很好.当我执行此操作时,数据库抛出一个异常说:
[编辑Erwin]:结果是异常不是来自数据库.
org.POSTGResql.util.PsqlException: Bad value for type timestamp : 2011-10-10T21:55:19.790+03:00
我不想通过实现完整的INSERT语句手动进行格式化,因为涉及许多字段.
这里最好的解决方案是什么?有没有办法在所有调用上配置datetiR_714_11845@e的to@R_944_10495@ng().我还想过从datetiR_714_11845@e创建一个继承的类但是… mmhh ..这是一个决赛.
–
编辑
Per Erwin,我通过插入虚拟表来测试datetiR_714_11845@e值’2011-10-10T21:55:19.790 03:00’并且它正在工作.但无法使用JDBC.与JDBC驱动程序有关的东西?
要解决此问题,可以扩展BeanPropertysqlParametersource覆盖getValue方法.如果对象的类型是joda.time.datetiR_714_11845@e,则将其转换为Java.util.Date对象并返回它.这应该解决问题.
class CustomBeanPropertysqlParametersource extends BeanPropertysqlParametersource {
@Override
Object getValue(@R_944_10495@ng paramname) {
Object result = super.getValue(paramname);
if (result != null && result instanceof datetiR_714_11845@E) {
return ((datetiR_714_11845@E)result).toDate();
} else {
return result;
}
}
}
以上是大佬教程为你收集整理的spring – JodaTime和BeanPropertySqlParameterSource全部内容,希望文章能够帮你解决spring – JodaTime和BeanPropertySqlParameterSource所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。