<!--
错误写法,传入类型为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);