当前位置: 首页 > 知识库问答 >
问题:

在这种情况下,未能将类型'$Proxy0的属性值转换为所需类型意味着什么?

乔丁雨
2023-03-14

这是我的代码:

<beans:bean id="jdbcWriter" 
  class="org.springframework.batch.item.database.JdbcBatchItemWriter">
    <beans:property name="dataSource" ref="dataSource"/> 
    <beans:property name="sql" value="update Trans_Tst set (amount) values (?) 
           where id= ?"/>
    <beans:property name="itemPreparedStatementSetter" 
           ref="WriterSqlParameterSetter"/> 
</beans:bean> 
<beans:bean id="WriterSqlParameterSetter" 
  class="sa.com.anb.itg.dev.settlement.batch.WriterSqlParameterSetter" scope="step">
    <beans:property name="amount" value="#{jobParameters[amount]}"/>
    <beans:property name="id" value="#{jobParameters[id]}"/>  
</beans:bean>




public class WriterSqlParameterSetter implements 
  ItemPreparedStatementSetter<transactionas>{

public void setValues(transactionas ts, PreparedStatement ps) throws SQLException {
        ps.setDouble(1, ts.GetAmount());
        ps.setInt(2, ts.GetID());               
    }
}

有人能帮我解决这个错误吗?此错误是否与WriterSQLParameterSetter的属性值有关?

共有1个答案

堵宏毅
2023-03-14

好的,我在这里看到的第一件事是:

WriterSqlParameterSetter是一个ItemPreparedStatementSetter!好啦!

但即使你声明:

 <beans:property name="amount" value="#{jobParameters[amount]}"/>
 <beans:property name="id" value="#{jobParameters[id]}"/>  
public class WriterSqlParameterSetter implements 
  ItemPreparedStatementSetter<transactionas>{

public void setValues(transactionas ts, PreparedStatement ps) throws SQLException {
    ps.setDouble(1, ts.GetAmount());
    ps.setInt(2, ts.GetID());               
    }
}
 类似资料:
  • 我在Spring批处理代码中遇到了一个错误:创建名为“itemReader”(在类路径资源中定义)的bean时出错,未能将“$Proxy0”类型的属性值转换为属性“preparedStatementSetter”所需的类型。 这是我的ItemReader代码: 这是我的ReaderSqlParameterSetter类: 谁能帮帮我吗?

  • org.springframework.beans.ConversionNotSupportedException:未能将类型“java.lang.long”的属性值转换为属性“card”所需的类型“card”;嵌套异常是java.lang.IllegalStateException:无法将类型“java.lang.Long”的值转换为属性“Card”所需的类型“Card”:找不到匹配的编辑器或转

  • 我想在json中以的形式发布上面的字符串日期,但我收到了400个错误请求。有人能帮忙吗。我使用过,但它也没有帮助我。

  • 我有两个实体,它们使用一个主键互相引用,主键是一个实体的整数。我不确定我做这件事的方式是否正确。 下面是引用主键id为int的实体 下面是我们从上面的实体中将外键设置为Kmichango kandaMchango的实体。 这里是表单的一部分,我在这里提交了用户在jumuiya_michango_form.html中提供的数据 下面是我的控制器中用于链接到表单和发布数据的两个方法 在我提交表单后,我

  • 我正在处理一个Spring批量需求。在我的项目中,我在一个单独的util包中编写了一个转换器类作为实用程序类。我正在读写到MySQL数据库的CSV文件。 [未能将类型“java.lang.String”的属性值转换为属性“id_type”所需的类型“java.lang.Integer” 在我的模型类中,id_type是Integer类型,那么为什么它说“未能将属性值字符串转换为Integer?”

  • 我不确定我是否错过了一些真正基本的东西,但这是我想做的。 我想对这个地址进行rest API调用: https://localhost:8080/fetchlocation?lat=-26.2041028和lng=28.0473051和radius=500 我想这是因为当我进行GET调用时,rest API接收的坐标是字符串而不是long。我如何确保rest API在调用时得到的是长值而不是字符串