有時候會不可避免使用動態表或者列進行業務處理。下面學習幾種動態表/列的使用方式:
即,默認值。
<select id="hisNumber" parameterType="hashmap" resultType="hashmap" > select number from ${oldTableName} <!--這裡使用"$"!!!-->where name=#{name} and date = #{date}<!--這裡使用"#"--><select>預編譯,即首先會生成select number from ? where name=? and date=? 這樣使用”?”作為佔位符的語句,然後進行參數解析。
<select id="hisNumber" parameterType="hashmap" resultType="hashmap" statementType="STATEMENT" > select number from ${oldTableName} <!--這裡使用"$"!!!-->where name='${name,jdbcType=VARCHAR}' and date = '${date,jdbcType=TIMESTAMP}'<select>注意後面name和date的取值,使用了'${name}' 格式,這樣會對參數進行數據類型轉換,有助於mysql查詢時提升性能。
<select id="hisNumber" parameterType="hashmap" resultType="hashmap" statementType="STATEMENT" > select number from ${oldTableName} <!--這裡使用"$"!!!-->where name=${name} and date = ${date}<select>注意後面name和date的取值,使用了${name} 格式,將會直接取參數值,不進行數據類型轉換。當參數為數值類型且格式如“00124”時,將會出現數據錯讀(會將0124、124等都讀出來)。
故建議使用第一種方式! !
以上就是本文關於MyBatis使用動態表或列代碼解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!