引言:好久沒有用過mybatis了,xml中寫sql的方式都忘記了。現在這個項目剛好是個練習的機會。摸索不知的用法。
在使用mybatis 時我們sql是寫在xml 映射文件中,如果寫的sql中有一些特殊的字符的話,在解析xml文件的時候會被轉義,但我們不希望他被轉義,所以我們要使用<![CDATA[ ]]>來解決。
<![CDATA[ ]]> 是什么,這是XML語法。在CDATA內部的所有內容都會被解析器忽略。
如果文本包含了很多的"<"字符 <=和"&"字符——就象程序代碼一樣,那么最好把他們都放到CDATA部件中。
但是有個問題那就是 <if test=""> </if> <where> </where> <choose> </choose> <trim> </trim> 等這些標簽都不會被解析,所以我們只把有特殊字符的語句放在 <![CDATA[ ]]> 盡量縮小 <![CDATA[ ]]> 的范圍。
1、if判斷,isOversea 必須是有值且=N,才能執行test中sql語句
parameterType:傳參的類型。可以是String、map、實體對象等。
resultType:返回值類型。可以是String、map、實體對象等。
<select id="getTest" parameterType="com.pcitc.mdm.provide.model.TestDto" resultType="com.pcitc.mdm.busi.model.MbcProf"> <if test='isOversea=="N"'> <![CDATA[ select a.* from MDM_MBC_PROF a where a.TURNON_OR_NOT = '1' and a.BUSI_CODE = #{busiCode,jdbcType=VARCHAR} ]]> </if> </select>
2、