<select id="qryEffSubsUppInstBySubsId" resultType="com.ztesoft.zsmart.bss.iot.common.dto.SubsUppInst">
SELECT SUBS_UPP_INST_ID,SUBS_ID,PRICE_PLAN_ID,CREATED_DATE,EFF_DATE,
EXP_DATE,UPDATE_DATE,STATE,STATE_DATE,PROD_ID,PARENT_SUBS_UPP_INST_ID,
COMPLETED_DATE,NEED_UPLOAD,PACKAGE_FLAG,AGM_EXP_DATE,SP_ID
FROM SUBS_UPP_INST WHERE SUBS_ID = #{subsId}
AND STATE = 'A'
AND EFF_DATE <= SYSDATE AND (EXP_DATE IS NULL OR EXP_DATE > SYSDATE)
<if test="spId != null">
AND SP_ID = #{spId}
</if>
</select>
錯誤原因:mybatis查詢的時候,需要用到運算符 小於號:< 和 大於號: >,在mybatis配置文件裏面,這種會被認爲是標籤,所以解析錯誤.
解決方法,用
<select id="qryEffSubsUppInstBySubsId" resultType="com.ztesoft.zsmart.bss.iot.common.dto.SubsUppInst">
SELECT SUBS_UPP_INST_ID,SUBS_ID,PRICE_PLAN_ID,CREATED_DATE,EFF_DATE,
EXP_DATE,UPDATE_DATE,STATE,STATE_DATE,PROD_ID,PARENT_SUBS_UPP_INST_ID,
COMPLETED_DATE,NEED_UPLOAD,PACKAGE_FLAG,AGM_EXP_DATE,SP_ID
FROM SUBS_UPP_INST WHERE SUBS_ID = #{subsId}
AND STATE = 'A'
<![CDATA[AND EFF_DATE <= SYSDATE AND (EXP_DATE IS NULL OR EXP_DATE > SYSDATE)]]>
<if test="spId != null">
AND SP_ID = #{spId}
</if>
</select>