mybatis(五).mybatis中的運算符

最近工作比較忙,好久沒有更新了。剛好昨晚完成了一個項目的模塊完成了,早上趁着這丁點的空閒,把最近遇到的mybatis的需要注意的地方記錄下來。今天我們主要來看mybatis中的運算。

一,邏輯運算

說到邏輯運算,肯定邏輯運算符是重中之重了,這裏的邏輯運算符和我們往常寫的可不一樣,接下來看看這個比對關係,如下圖:

邏輯運算符參照關係表

原符號

mybatis

說明

> > 大於號
>= >= 大於等於號
< &lt; 小於號
<= &lt;= 小於等於號
& &amp; 按位與
' &apos; 英文單引號
" &quot; 英文雙引號

例子:

有學生表studen(id, age, sex, address),id-學生id;age-學生年齡;sex-學生性別;address-學生住址

場景:要查出年齡在9歲及以上的學生。

在mybatis的<select>標籤中可以這樣寫sql,如下:

SELECT  *  FROM   student   WHERE  age  &gt;= 9

 

二,算術運算

mybatis裏支不支持對傳進來的參數做四則運算(加,減,乘,除)呢?答案是肯定的。接下來我們看看具體例子,看看是如何使用的。

例子:

有賬戶表account(no,balance, time),no-賬戶編號;balance-賬戶餘額(單位分);time-開立賬戶時間。

場景一:查詢出餘額大於參數 lessAmount的賬戶,可這個lessAmount的單位是元,在mybatis的<select>標籤中可以這樣寫sql,如下:

SELECT   *  FROM  account  WHERE balance  &gt;  #{lessAmount} * 100 

場景二:給賬戶編號爲001的賬戶入賬 tempAmount分,這天又恰好是中秋節,領導說給賬戶再發20元的紅包(加2000分),在mybatis的<select>標籤中可以這樣寫sql,如下:

UPDATE account SET balance = ( #{tempAmount} + 2000 )  WHERE no='001'

其他兩個用法同上類比:

:場景暫時不管,先看用法

SELECT   *  FROM  account  WHERE balance  &gt;  #{lessAmount} / 100 

:場景暫時不管,先看用法

UPDATE account SET balance = ( #{tempAmount} - 2000 )  WHERE no='001'

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章