eclipse实体类用double类型获取mysql中decimal数据类型显示0.0

xqm5260 2012-07-04 10:10:01
eclipse实体类用double类型获取mysql中decimal数据类型显示0.0

该怎么办? 是接收的类型不对? 还是什么
...全文
399 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LucEaspe 2012-07-04
  • 打赏
  • 举报
回复
jdbc 数据类型索引下
xqm5260 2012-07-04
  • 打赏
  • 举报
回复
我写了啊
else if(columnClassName.equals("java.math.BigDecimal")){
proType = Double.class;
}

如果获取的类型有java.math.BigDecimal 就转成double
和实体类的类型一样

但是还是0.0
LucEaspe 2012-07-04
  • 打赏
  • 举报
回复
数据类型要匹配。 mysql的decimal 对应Java的java.math.BigDecimal
xqm5260 2012-07-04
  • 打赏
  • 举报
回复
错误提示

java.lang.NoSuchMethodException: com.jj.news.pojo.Product.setPrice(java.lang.Double)
at java.lang.Class.getDeclaredMethod(Class.java:1937)
at org.commons.db.DbHelp.executQuery(DbHelp.java:226)
at org.commons.dao.BaseDAO.getAll(BaseDAO.java:87)
at com.jj.news.action.ProductAction.doList(ProductAction.java:31)
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.commons.mvc.CenterServlet.process(CenterServlet.java:72)
at org.commons.mvc.CenterServlet.doGet(CenterServlet.java:21)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
java.lang.NoSuchMethodException: com.jj.news.pojo.Product.setPrice(java.lang.Double)
at java.lang.Class.getDeclaredMethod(Class.java:1937)
at org.commons.db.DbHelp.executQuery(DbHelp.java:226)
at org.commons.dao.BaseDAO.getAll(BaseDAO.java:87)
at com.jj.news.action.ProductAction.doList(ProductAction.java:31)
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.commons.mvc.CenterServlet.process(CenterServlet.java:72)
at org.commons.mvc.CenterServlet.doGet(CenterServlet.java:21)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
xqm5260 2012-07-04
  • 打赏
  • 举报
回复
我dbhelp写了这个 也不行

for (int i = 1; i <= metaData.getColumnCount(); i++) {

String columnName = metaData.getColumnName(i);
Object value = rs.getObject(columnName);
String setMethod = (String) map.get(columnName); // 得到set方法
String columnClassName = metaData.getColumnClassName(i); // 得到类型
Class proType = null;
try {
if (columnClassName.equals("java.sql.Timestamp")) {
proType = Date.class;
} else if(columnClassName.equals("java.math.BigDecimal")){
proType = Double.class;
}else {
proType = Class.forName(columnClassName);
}

58,453

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧