Java 如何将贴图当作一个简单的贴图来使用
我正在尝试使用jdbctemplate。阅读本文,我已经了解了第2部分,该部分使用了代码列表rows=getJdbcTemplate.queryForListsql;。当我试图在代码中实现它时,eclipse强迫我使用Map,而不是像教程中那样简单地使用Map 我是java新手,所以我不知道在使用Map时如何访问我的数据库列 我们怎么做 下面的代码可以吗Java 如何将贴图当作一个简单的贴图来使用,java,spring,Java,Spring,我正在尝试使用jdbctemplate。阅读本文,我已经了解了第2部分,该部分使用了代码列表rows=getJdbcTemplate.queryForListsql;。当我试图在代码中实现它时,eclipse强迫我使用Map,而不是像教程中那样简单地使用Map 我是java新手,所以我不知道在使用Map时如何访问我的数据库列 我们怎么做 下面的代码可以吗 List<Map<String,Object>> rows = getJdbcTemplate().queryForL
List<Map<String,Object>> rows = getJdbcTemplate().queryForList(sql);
for (Map<String,Object> row : rows) {
Customer customer = new Customer();
customer.setCustId((Long)(row.get("CUST_ID")));
customer.setName((String)row.get("NAME"));
customer.setAge((Integer)row.get("AGE"));
customers.add(customer);
}
return customers;
更新
下面是我用这段代码得到的错误
类型异常报告
消息请求处理失败;嵌套异常是
java.lang.ClassCastException:java.math.BigDecimal无法转换为
java.lang.String
说明服务器遇到阻止它的内部错误
不履行这一要求
例外情况
org.springframework.web.util.NestedServletException:请求
处理失败;嵌套异常为java.lang.ClassCastException:
无法将java.math.BigDecimal转换为java.lang.String
org.springframework.web.servlet.FrameworkServlet.processRequestFrameworkServlet.java:982
org.springframework.web.servlet.FrameworkServlet.doGetFrameworkServlet.java:861
javaservlet.http.HttpServlet.serviceHttpServlet.java:622
org.springframework.web.servlet.FrameworkServlet.serviceFrameworkServlet.java:846
javaservlet.http.HttpServlet.serviceHttpServlet.java:729
org.apache.tomcat.websocket.server.WsFilter.doFilterWsFilter.java:52
根本原因
java.lang.ClassCastException:java.math.BigDecimal无法转换为
java.lang.String
java:20
com.projet.testjdbc.HomeController.home2HomeController.java:78
sun.reflect.NativeMethodAccessorImpl.invoke0Native方法
sun.reflect.NativeMethodAccessorImpl.invokeUnknown源
sun.reflect.DelegatingMethodAccessorImpl.invokeUnknown源
java.lang.reflect.Method.invokeUnknown源代码
org.springframework.web.method.support.InvocableHandlerMethod.doInvokeInvocableHandlerMethod.java:205
org.springframework.web.method.support.InvocableHandlerMethod.InvokeForRequestInInvocableHandlerMethod.java:133
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandleServletInvocableHandlerMethod.java:97
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethodRequestMappingHandlerAdapter.java:827
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternalRequestMappingHandlerAdapter.java:738
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handleAbstractHandlerMethodAdapter.java:85
org.springframework.web.servlet.DispatcherServlet.doDispatcherservlet.java:963
org.springframework.web.servlet.DispatcherServlet.doServiceDispatcherServlet.java:897
org.springframework.web.servlet.FrameworkServlet.processRequestFrameworkServlet.java:970
org.springframework.web.servlet.FrameworkServlet.doGetFrameworkServlet.java:861
javaservlet.http.HttpServlet.serviceHttpServlet.java:622
org.springframework.web.servlet.FrameworkServlet.serviceFrameworkServlet.java:846
javaservlet.http.HttpServlet.serviceHttpServlet.java:729
org.apache.tomcat.websocket.server.WsFilter.doFilterWsFilter.java:52
很难相信这些字段中的任何一个开头都是BigDecimal,但不管它是什么,都不要将其转换为String:将其转换为BigDecimal。很明显
它与地图与地图没有任何关系。因为这样更好。该教程使用原始类型。长期过时的错误做法。这段代码运行正确吗?@javaguynextdo或不正确。它在某处表示类似于BigDecimal到字符串的转换错误……好像我在使用一个数字作为字符串或其倒数……这就是问题所在happening@Bloomberg58请在这里写下您收到的错误消息。@javaguynextdo或请在我的OP中查看您所询问的信息的更新