1. 程式人生 > >mybatis中各個表籤的作用

mybatis中各個表籤的作用

trim 表籤的使用

trim元素的主要功能是可以在自己包含的內容錢加上某些字首,也可以在其後加上某寫字尾,與之對應的屬性是prefix和suffix;
可以把包含內容的首部某些內容覆蓋,即忽略,也可以把尾部的某些內容覆蓋,對應的屬性是prefixOverrides和suffixOverrides

trim標籤的屬性

  1. prefix:字首覆蓋並增加其內容。也就是給中的sql語句加上字首;
  2. suffix:字尾覆蓋並增加其內容。給包裹的sql語句加上字尾;
  3. prefixOverrides:字首判斷的條件。取消指定的字首,如where;
  4. suffixOverrides:字尾判斷的條件。取消指定的字尾,如and | or.,逗號等。

例如:<trim prefix="values  ("        suffix=")">..............</trim>    這就表示在。。。。。內容的前面加上 values (,在。。。。。內容後面加上  ) 什麼時候會折用這個標籤呢?一般如果有多個if判斷條件是就會使用 問題來了,當messageClassify !=null,但messageCode 和messageContent 為空時,會多出來逗號,以至於mybatis報錯。
<insert id="insertMessage" parameterType="com.sf.ccsp.member.client.request.MessageReq"
> insert cx_customer_message <trim prefix="(" suffix=")" suffixOverrides="," > ID,MEMBERID, <if test='messageClassify != null and messageClassify != "" '> MESSAGEE_CLASSIFY, </if> <if test='messageCode != null
and messageCode != "" '> MESSAGE_CODE, </if> <if test='messageContent != null and messageContent != "" '> MESSAGE_CONTENT, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > #{id, jdbcType=VARCHAR}, #{memberId, jdbcType=VARCHAR}, <if test='messageClassify != null and messageClassify != "" '> #{messageClassify, jdbcType=VARCHAR}, </if> <if test='messageCode != null and messageCode != "" '> #{messageCode, jdbcType=VARCHAR}, </if> <if test='messageContent != null and messageContent != "" '> #{messageContent, jdbcType=VARCHAR}, </if> </trim> </insert>
剩下的標籤都類似。。。。。