1、数据库表机构如下:
/*==============================================================*/ /* Table: function */ /*==============================================================*/ CREATE TABLE `itams`.`function` ( `function_id` VARCHAR(32) NOT NULL, `function_name` VARCHAR(50) NOT NULL, `parent_function_id` VARCHAR(32) NOT NULL, `function_order` INTEGER UNSIGNED, `function_level` INTEGER UNSIGNED, `function_url` VARCHAR(200), `function_remark` TEXT, PRIMARY KEY (`function_id`) ) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
2、有一个Function.java如下:
package com.zb.itams.domain; import java.io.Serializable; public class Function implements Serializable { private String functionId; private String functionName; private String parentFunctionId; private int functionOrder; private int functionLevel; private String functionUrl; private String functionRemark; /* JavaBeans Properties */ // 省略setter和getter方法 }
3、FunctionDaoImpl中的基于Id查询的方法如下:
public Function getFunction(String functionId) throws DataAccessException { Iterator<Function> iteFunction = jdbcTemplate.queryForList("select * from function where function_id='"+functionId+"'").iterator(); if (iteFunction.hasNext()) { return iteFunction.next(); } else { return null; } }
4、打印显示方法中的iteFunction.next()
{ function_id=8abc8098269d0fd32949d11490e0000, function_name=ss, parent_function_id=8abc8098269c7b4a2949c7b4a010000, function_order=0, function_level=3, function_url=, function_remark=ss }
无法强制转换成Function:return (Function)iteFunction.next();
报异常:java.lang.ClassCastException: java.util.LinkedHashMap
上网搜了半天,没找到原因和解决方法