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,如下:

扫描二维码关注公众号,回复: 9039296 查看本文章
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'
发布了45 篇原创文章 · 获赞 28 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_41968788/article/details/95447933