代码:
RowSetDynaClass dyData = null;
Connection conn = null;
PreparedStatement pstmt = null;
List<DynaBean> rows = null;
String code = "select c.code as storageCode,c.label as storageName,d.code oilCode,d.name oilName,oil_tank_id,aft_stock,safe_volume,empty_volume,round(aft_stock*1000/(density-1.1)) dr_v20,total_volume,stock_num from (select a.density,a.aft_stock,a.safe_volume,a.empty_volume,a.oil_id,a.oil_tank_id,a.oil_storage_id,a.measure_date,a.total_volume,a.stock_num from Core_Stock_Tank_Measure a where lastest = 1 and status = 1) b join (select id,code,label from acc_domain where type= 2 ) c on (c.id = b.oil_storage_id) join BASE_OIL_T d on (d.id = b.oil_id)";
ResultSet rs = null;
try {
conn = SessionFactoryUtils.getDataSource(getSessionFactory()).getConnection();
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(code);
// pstmt = conn.prepareStatement(code);
// rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("storageCode") + "-" + rs.getString("storageName") + "-"
+ rs.getString("oilCode") + "-" + rs.getString("oilName") + "-" + rs.getString("oil_tank_id")
+ "-" + rs.getString("aft_stock"));
}
rs.beforeFirst();// 这里必须使用beforeFirst
dyData = new RowSetDynaClass(rs);
rs.close();
stmt.close();
rows = dyData.getRows();
conn.close();
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
} finally {
conn.close();
}
错误信息:
org.apache.commons.beanutils.ConversionException: Cannot assign value of type 'java.math.BigDecimal' to property 'aft_stock' of type 'java.lang.Double'
at org.apache.commons.beanutils.BasicDynaBean.set(BasicDynaBean.java:305)
at org.apache.commons.beanutils.RowSetDynaClass.copy(RowSetDynaClass.java:294)
at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:248)
at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:181)
at org.apache.commons.beanutils.RowSetDynaClass.<init>(RowSetDynaClass.java:105)
at com.petrochina.ykis.dao.core.StockTankMeasureDao.getDynaData(StockTankMeasureDao.java:44)
at com.petrochina.ykis.services.impl.core.StockTankMeasureManager.getDynaData(StockTankMeasureManager.java:133)
at com.petrochina.ykis.services.impl.core.StockTankMeasureManager$$FastClassByCGLIB$$da9b590a.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
at com.petrochina.ykis.services.impl.core.StockTankMeasureManager$$EnhancerByCGLIB$$c105b019.getDynaData(<generated>)
at com.petrochina.ykis.integration.client.impl.SendStorageDailyClient.getDailyMeasureList(SendStorageDailyClient.java:118)
at com.petrochina.ykis.integration.client.impl.SendStorageDailyClient.sendStorageDaily(SendStorageDailyClient.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:273)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:264)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Cannot assign value of type 'java.math.BigDecimal' to property 'aft_stock' of type 'java.lang.Double'
相关推荐
Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于处理JavaBeans对象,简化对JavaBean属性的操作。这个库提供了一套方便的API,使得开发者可以通过简单的API调用来获取、设置JavaBean的属性,甚至...
库中还包含了丰富的异常处理机制,如`org.apache.commons.beanutils.converters`包下的各种`ConversionException`,用于处理类型转换失败的情况。 4. **国际化与本地化** Commons BeanUtils也考虑到了多语言环境...
Apache Commons BeanUtils是Java开发中的一个实用工具库,它提供了对JavaBeans进行操作的便捷方法。这个库的主要目的是简化对对象属性的访问,使得开发者能够更高效地处理对象的属性设置和获取,而无需手动编写大量...
- `org.apache.commons.beanutils.BeanUtils`: 这是BeanUtils的主要入口类,包含了上述核心功能的实现。 - `org.apache.commons.beanutils.PropertyUtils`: 提供了更高级的属性访问和复制功能,包括动态属性处理。 -...
5. **国际化支持**:BeanUtils库与Apache Commons Locale和Validator组件配合使用,可以实现对不同语言和地区的支持,使应用程序更易国际化。 6. **源代码分析**:在学习"commons-beanutils-1.8.0-src.zip"中的源...
import org.apache.commons.beanutils.BeanUtils; public class Test { public static void main(String[] args) throws Exception { User source = new User(); source.setName("张三"); source.setAge(25);...
《Apache Commons BeanUtils:深入解析源码》 Apache Commons BeanUtils是Java开发中常用的一个工具库,它提供了方便的Bean操作方法,简化了对JavaBeans属性的访问。在这个压缩包中,我们关注的是"commons-...
import org.apache.commons.beanutils.BeanUtils; public class Test { public static void main(String[] args) throws Exception { MyBean bean1 = new MyBean(); bean1.setName("John"); MyBean bean2 = ...
"commons-beanutils"是Apache Commons项目中的一个子项目,主要提供了一系列用于操作Java Bean的工具类,使得开发者能够更加方便地访问和操作Bean的属性。这个库在Java开发中非常常见,尤其对于那些需要大量处理Java...
Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了方便的Java Bean操作接口。这个"commons-beanutils-1.8.2-src"官方源文件包,是学习和理解BeanUtils核心功能的宝贵资源。在这个版本中...
5. **异常处理**:在使用BeanUtils过程中,可能会遇到如`PropertyNotFoundException`(找不到属性)、`ConversionException`(类型转换失败)等异常,需要合理捕获并处理这些异常,以确保程序的健壮性。 6. **...
Apache BeanUtils库是Java开发中一个非常实用的工具包,它属于Apache Commons项目的一部分,旨在简化对象属性的访问和操作。BeanUtils库的核心功能在于它能够自动将HTTP请求中的数据映射到JavaBean对象,极大地提高...
Apache Commons BeanUtils库是为了解决Java Bean操作的繁琐而设计的。它提供了大量的静态方法,能够方便地将一个Java Bean的属性值复制到另一个Bean,或者将Map对象的键值对映射到Bean的属性上。这极大地提高了代码...
import org.apache.commons.beanutils.ConversionException; import org.apache.commons.beanutils.Converter; public class UtilDateConverter implements Converter { @Override public Object convert...
Apache BeanUtils是Apache Commons项目中的一个模块,它提供了一组工具类来简化JavaBean...在实际开发中,结合使用BeanUtils和其他Apache Commons组件,如Collections和Lang,可以构建出更高效、更稳定的Java应用程序。
在Java开发中,Apache Commons BeanUtils库是一个非常实用的工具包,它提供了许多方便的方法来操作JavaBeans。本文将深入探讨`BeanUtilsBean`对象复制的功能,特别关注它如何实现类型自动转换。`BeanUtilsBean`是...
import org.apache.commons.beanutils.BeanUtils; public class TestBean { private String name; private int age; // getters and setters } public class Main { public static void main(String[] args) ...
在JavaWeb开发中,BeanUtils工具类扮演着重要的角色,它是Apache Commons项目的一部分,具体是Apache Commons BeanUtils库。这个库提供了一系列方便的方法,用于处理JavaBeans,即那些符合JavaBeans规范的对象。在这...
在Java编程领域,Apache Commons BeanUtils库是一个不可或缺的工具,尤其在构建网络框架时更是扮演着重要角色。BeanUtils库是Apache软件基金会开发的一个开源项目,其核心功能在于提供了一系列便捷的方法,帮助...