[size=large][color=indigo]问题:在进行Oracle数据库数据同步时,利用ibatis的sqlmap从Oracle数据库中取出
对应的时间值,在插入到另外服务器上数据库中时,只有日期,没了时间,格式发
生了错误。
sqlmap代码:
...<resultmap>
<result property="createTime" column="CREATETIME"
javaType="java.util.Date" jdbcType="DATE"/>...
</resultmap>
jdbcTemplate代码:
...createTime = (java.util.Date)ObjectTime.getCreateTime();...
...List list = new ArrayList();
...list.add(createTime);
...jdbcTemplate.update(sql,list.toArray());
1.利用以上代码,插入的日期格式为:YY-MM-DD.
2.(java.util.Date)格式转换必须加,如果不加,当字段值为null或""时,程序将会抛
java.lang.NullPointerException异常.
3.解决1的问题方法:
a). 将jdbcType="DATE"改成jdbcType="DATETIME"即可.
b). 将ObjectTime.getCreateTime()改成new TimeStamp
(ObjectTime.getCreateTime().getTime());
同时,jdbcTemplate.update(sql,obj,types);
Object [] obj = new Object[]{...,createTime,...};
int [] types = new int[]{...,TimeStamp.Date,...};
types为obj中各个属性字段对应数据库中的数据类型值.[/color][/size]
对应的时间值,在插入到另外服务器上数据库中时,只有日期,没了时间,格式发
生了错误。
sqlmap代码:
...<resultmap>
<result property="createTime" column="CREATETIME"
javaType="java.util.Date" jdbcType="DATE"/>...
</resultmap>
jdbcTemplate代码:
...createTime = (java.util.Date)ObjectTime.getCreateTime();...
...List list = new ArrayList();
...list.add(createTime);
...jdbcTemplate.update(sql,list.toArray());
1.利用以上代码,插入的日期格式为:YY-MM-DD.
2.(java.util.Date)格式转换必须加,如果不加,当字段值为null或""时,程序将会抛
java.lang.NullPointerException异常.
3.解决1的问题方法:
a). 将jdbcType="DATE"改成jdbcType="DATETIME"即可.
b). 将ObjectTime.getCreateTime()改成new TimeStamp
(ObjectTime.getCreateTime().getTime());
同时,jdbcTemplate.update(sql,obj,types);
Object [] obj = new Object[]{...,createTime,...};
int [] types = new int[]{...,TimeStamp.Date,...};
types为obj中各个属性字段对应数据库中的数据类型值.[/color][/size]