<!-- 错误写法,传入类型为String类型,则参数需统一修改为【_parameter】 --> <select id="selectCategoryList" parameterType="java.lang.String" resultType="MstCategoryBean"> SELECT category_id, category_name FROM category WHERE <if test="category_id!=null and category_id!=''"> and category_id = #{category_id} </if> </select> <!-- 正确写法 --> <select id="selectCategoryList" parameterType="java.lang.String" resultType="MstCategoryBean"> SELECT category_id, category_name FROM category WHERE <if test="_parameter!=null and _parameter!=''"> and parent_category_id = #{_parameter} </if> </select>
// 查找其他人说法:因为java反射获取简单数据类型时,只能获取到参数的类型, // 不能获取到参数的名称,因为传递下来的是个引用,所以要用_parameter。 // 第二种解决办法是:在dao的java函数里面注入@param注解【切记要引用ibits的jar包,而不是spring的那个】,例如: List<MstCategoryBean> selectCategoryList(@Param(value="category_id")String category_id);