我正在尝试在DB2之后的12-31-2039之间获得一个日期,但它总是返回null。我的项目使用配置了jt400.jar JDBC驱动程序的spring JDBC。我该如何解决这个问题?在春天关注我的配置:
<bean id="dataSource" class="br.com.mycompany.persistence.driver.SecuredAS400JDBC">
<property name="serverName" value="${br.com.mycompany.dao.jdbc.server}" />
<property name="databaseName" value="${br.com.mycompany.dao.jdbc.database}" />
<property name="libraries" value="${br.com.mycompany.dao.jdbc.database}" />
<property name="user" value="${br.com.mycompany.dao.jdbc.username}" />
<property name="password" value="${br.com.mycompany.dao.jdbc.password}" />
<property name="dataTruncation" value="false" />
<property name="naming" value="sql" />
<property name="errors" value="full" />
<property name="trace" value="false" />
<property name="prompt" value="false" />
</bean>
这是我的结果集操作:
private static final class rowMapperDTO implements RowMapper<AcionamentoFaixa> {
public AcionamentoFaixa mapRow(ResultSet rs, int rowNum) throws SQLException {
AcionamentoFaixa obj = new AcionamentoFaixa();
obj.setDe(rs.getDate(4));
obj.setAte(rs.getDate(5));
return obj;
}
}
答案 0 :(得分:2)
我在IBM Toolbox Java官方文档中找到了答案:http://www-03.ibm.com/systems/power/software/i/toolbox/faq/jdbc.html#faqB5
“Toolbox JDBC驱动程序使用设置为的日期格式 IBM i系统上的缺省值。此默认值通常设置为“mdy” 它仅支持1940年到2039年之间的日期。您可以在打开JDBC连接时通过指定“日期格式”属性来覆盖日期格式。最好的选择是“ iso ”,它支持完整的四位数日期。“
所以,我尝试使用属性dateFormat将bean配置为iso,它完美运行!
<bean id="dataSource" class="br.com.mycompany.persistence.driver.SecuredAS400JDBC">
<property name="serverName" value="${br.com.mycompany.dao.jdbc.server}" />
<property name="databaseName" value="${br.com.mycompany.dao.jdbc.database}" />
<property name="libraries" value="${br.com.mycompany.dao.jdbc.database}" />
<property name="user" value="${br.com.mycompany.dao.jdbc.username}" />
<property name="password" value="${br.com.mycompany.dao.jdbc.password}" />
<property name="dataTruncation" value="false" />
<property name="naming" value="sql" />
<property name="errors" value="full" />
<property name="trace" value="false" />
<property name="prompt" value="false" />
<property name="dateFormat" value="iso" />
</bean>