一、查询中生成序号的写法:
select @rowNum:=@rowNum+1 rowNum from (select @rowNum:=0) a
二、查询中if 标签 test 等于判断:
正常写法如下:
<if test="flag != null and flag != ''">
等于(==)写法如下:
1、 <if test='flag != null and flag == "4"'>
2、 <if test="qryStr == 'Y'.toString()">
1、当使用==的时候,需要test外层使用 ''单引号,里面的参数使用 ""双引号!
2、当使用==的时候,需要 ''单引号后加.toString(),因为mybatis会把'Y'解析为字符报 NumberFormatException。
三、查询语句where后面加if判断
IF表达式
IF(expr1,expr2,expr3)
说明:IF(条件, true执行条件, false执行条件 )
四、CONCAT()函数与CONCAT_WS()函数
1、CONCAT()函数是将多个字符串连接成一个字符串。如有任何一个参数为NULL ,则返回值为 NULL,所以建议参数加上IFNULL()函数。
CONCAT(str1,str2,…)
2、CONCAT_WS()函数是将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)
CONCAT_WS(separator,str1,str2,...)
3、GROUP_CONCAT()函数是将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
GROUP_CONCAT( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )