關於Mybatis的一點小記錄(parameterType)


1.Mybatis的parameterType有兩個比較常用的,一個是類的對象,還有一個就是Map,然后取值的方法也很簡單:

基本數據類型:#{參數} 獲取參數中的值

復雜數據類型:#{屬性名} ,map中則是#{key}

2.這里就提一下關於#{}和${},前者是動態解析 時候,就理解成把sql里的這個位置變成 預編譯的 ? ,后者就有點像字符串的賦值粘貼,就預編譯前的sql語句已經不包含變量了,已經完全是常量了。

然后這里要記錄的是,一個和排序有關的 sql語句:

這里我用的是MyBatis:

<select id="selectList" parameterType="java.util.Map" resultMap="EditionMap">
        SELECT te.id, te.e_edition_time, tu.u_name, te.e_notes 
        FROM t_edition AS te 
        LEFT JOIN 
        t_user AS tu 
        ON te.e_edition_setter_id = tu.id 
        WHERE 1=1
        <if test="eTime != null and eTime.trim() != ''">
            and e_edition_time like CONCAT('%',#{eTime,jdbcType=TIMESTAMP},'%')
        </if>
        ORDER BY ${sidx} ${order}
</select>

最后的ORDER這里,一開始用的是  #{}一直不行,后面換成 $就可以了,總之以后order By 這種后面跟的是固定的字符串的就用 ${}吧,當然其他的還是用#{}好處多一點!


免責聲明!

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



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