Mybatis使用statementType="STATEMENT"實現動態傳入表名或字段名


mybatis中使用statementType="STATEMENT"實現動態傳入字段名時一直報語句錯誤,但實際上語句並沒有毛病,爬了一天坑才找到問題,記錄一下。

 整條語句中里所有傳入的值都要使用${xxx},不能使用#{xxx}

 <select id="listMap" resultMap="Goodsbarcodes" parameterType="java.util.Map" statementType="STATEMENT">
     
     select * from goodsbarcode
         where serialNo  like '%${serialno}%' and sku like '%${sku}%'
         
         <if test="timetype != null and timetype!='' and fristTimes != null and fristTimes!='' and lastTimes != null and lastTimes!=''" >
             and ${timetype}    BETWEEN '${fristTimes}' and '${lastTimes}'
         </if>
         <if test="state != null and state!='' and state == '0'.toString()" >
             and ${stateName} ='${paramTemp}'    
         </if>
         <if test="state != null and state!='' and state == '1'.toString()" >
             and ${stateName}  !='${paramTemp}'
         </if>
         <if test="state != null and state!='' and state == '2'.toString()" >
             and ${stateName}  !='${paramTemp}'
         </if>
         <![CDATA[    
         limit ${page},${rows}
         ]]>
     </select> 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM