首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

There is no getter for property named '*' in 'class java.lang.String

2012-12-23 
There is no getter for property named ** in class java.lang.String????? 初学mybatis没几天,遇到的

There is no getter for property named '**' in 'class java.lang.String

????? 初学mybatis没几天,遇到的问题不少,学到的东西也不少,越来越感觉mybatis用着还是挺有意思的。话说今天遇到了一个异常,折腾了好久;在网上搜了两篇文章并顺利解决,现在讲两篇文章整理出来,留作备份。

????? mysql文如下,传入参数为‘parentCategoryId’,运行报错为:There is no getter for property named 'parentCategoryId' in 'class java.lang.String

<select id="selectCategoryList"  parameterType="java.lang.String" resultType="MstCategoryBean">SELECTcategory_idAScategoryId,category_nameAScategoryName,view_orderbyASviewOrderbyFROMmst_categoryWHEREdel_flg =0<if test="parentCategoryId!=null  and parentCategoryId!=''">andparent_category_id = #{parentCategoryId}</if></select>

?发现不能将参数设为bean里的名称,如果传入类型为String类型,则参数需统一修改为[_parameter],修改后的sql语句如下(不管你的参数是什么,都要改成"_parameter")

<select id="selectCategoryList" parametertype="java.lang.String" resulttype="MstCategoryBean">          SELECT              category_id             AS  categoryId,              category_name           AS  categoryName,              view_orderby            AS  viewOrderby          FROM              mst_category          WHERE              del_flg =0                    and              parent_category_id = #{_parameter}                </select>  

?==================华丽的分割线=============另外一篇===================

用mybatis查询时,传入一个字符串传参数,且进行判断时,会报

There is no getter for property named 'moduleCode' in 'class java.lang.String

?错误写法:

<select id="queryAllParentModule" resultType="jobModule" parameterType="jobModule">  select modulecode,         modulename,         modulevalue,         linkurl,         rank,         parentmodule=isnull(parentmodule,1),         moduledescription   from job_module  <where>                     <choose>                  <when test="moduleCode!=null and moduleCode!=''">modulecode = #{moduleCode}</when>                  <when test="moduleCode==null or moduleCode==''">(parentmodule is null or len(parentmodule)&lt;=0)</when>            </choose>          </where>   lt;/select>  

?需要修改成:

    <select id="queryModuleByCode" resultType="jobModule" parameterType="string">      select modulecode,             modulename,             modulevalue,             linkurl,             rank,             parentmodule=isnull(parentmodule,1),             moduledescription       from job_module      <where>                         <choose>                      <when test="_parameter!=null and _parameter!=''">modulecode = #{_parameter}</when>                      <when test="_parameter==null or _parameter==''">(parentmodule is null or len(parentmodule)&lt;=0)</when>                </choose>              </where>       lt;/select>  

?不管你的参数是什么,都要改成"_parameter";

?

?

两篇文章原文出处:

http://blog.csdn.net/noku_ln10/article/details/7977976

http://txin0814.iteye.com/blog/1533645

热点排行