mybatis使用时遇到的一些问题------模糊查询、处理大于号小于号、相关函数替换空值...

在mybatis中可能会用到的方法

1.模糊查询

    <select id="showByIdName" parameterType="User" resultMap="resultmap">
        SELECT r.*,u.id,u.age,u.`password`,u.username FROM role r
        LEFT JOIN user u ON r.role_id=u.role_id
        <where>
            <if test="username != null and username != ''">
                username LIKE concat(concat('%',#{username}),'%')
            </if>
        </where>
    </select>

 

2.在xml文件中处理大于号小于号的方法

(1)用了转义字符把>和<替换掉

XML转义字符表格如下:

 

                 &lt;                                 

                     <

                     小于号                                           

                     &gt;

                     >                                      

                     大于号

                     &amp;

                     &

                     和

                     &apos;

                     ’

                     单引号

                     &quot;

                     "

                     双引号

 

(2)使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析

<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]>  

3.利用数据库相关函数替换空值

(1)在MYSQL中可以这样来写:

select IFNULL(sum(data),0)

(2)在SQLSERVER中可以这样写:

select ISNULL(sum(data),0)

(3)在ORACLE中可以这样写:

select NVL(sum(data),0) 

(4)对于所有数据库适用的方法可以这样写:

select COALESCE(sum(data),0)

COALESCE()用法:

COALESCE(value,...) 

返回第一个不是null的值,如果参数列表全是null,则返回null

  SELECT COALESCE(NULL,1);
          -> 1

  SELECT COALESCE(NULL,NULL,NULL);
          -> NULL

 

转载于:https://www.cnblogs.com/javJoker/p/7260195.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值