<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在專案中xml檔案經常會遇到在判斷等於某個值時加什麼條件不等於某個值的時候加什麼條件
比如下面這個例子:
<if test=" name != null"> AND T.NAME = #{NAME,jdbcType=VARCHAR} </if> <if test=" name == null"> ORDER BY NAME,ID </if>
<choose> <when test=" name != null"> AND T.NAME = #{NAME,jdbcType=VARCHAR} </when> <otherwise> ORDER BY T.PRODUCT_TYPE_CODE, T.SORT DESC, T.CREATE_TIME </otherwise> </choose>
第一種錯誤寫法導致的結果就是不會去做任何判斷即使name不為空。
為什麼只能用<choose>標籤,原始碼還沒有研究,或者我這個例子本身就有問題現在記錄下來,在後續的更新中我會再次總結一下這個問題。
<if test="newsImage != null and newsImage == 'y'"> <![CDATA[ and len(newsImage) > 0 ]]> </if> <!-- 正確的,穩定,推薦使用 --> <if test="newsImage != null and newsImage == 'y'.toString()"> <![CDATA[ and len(newsImage) > 0 ]]> </if>
判斷 newsImage == 'y' 時,有人認為成功,但實際上是不成功的,需要改為 newsImage == 'y'.toString()方可成功,
原因具體沒有細入研究,根據實際使用推測應該是 “等於” 在java中是個比較複雜問題,涉及的“等於”有可能是變數地址相等,或者是變數值內容相等,在XML檔案中簡單的 == 在經過MyBatis處理後無法判斷是哪種型別的“相等”,所以加.toString()做強制轉換操作,MyBatis就知道是值內容的比較,當然就成功了;
注意這個常數不限於數位,對於字母,如 'y' 同樣需要加上 .toString()方可成功。
<choose> <when test="showType == 1"> IFNULL(k.fname,'未知') as pro_name, </when> <when test="showType == 2"> IFNULL(e.fname,'未知') as business_name, </when> <when test="showType == 3"> IFNULL(f.fname,'未知') as area_name, </when> <when test="showType == 4"> IFNULL(h.fname,'未知') as sale_name, </when> <otherwise> IFNULL(j.F_PJQD_XMDJ,'未知') as project_type, </otherwise> </choose>
<if test="businessName != null and businessName != ''"> and e.fname = #{businessName} </if> <if test="areaName != null and areaName != ''"> and f.fname = #{areaName} </if>
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45