在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

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

  1. MyBatis基础入门《六》Like模糊查询

    MyBatis基础入门<六>Like模糊查询 描述: 未改动的文件,不再粘贴出来.项目中SQL的xml映射文件重要标签如下: mapper namespace cache 配置给定命令空间 ...

  2. ibatis mybatis sql语句配置 符号不兼容 大于号 小于号<!CDATA[ ]>

    ibatis mybatis sql语句配置 符号不兼容 大于号 小于号<!CDATA[ ]> 因为这个是xml格式的,所以不允许出现类似">"这样的字符,但是都 ...

  3. 【Mybatis】【2】处理大于号小于号及其他特殊字符

    正文: 问题:用<的时候会报错.因为是xml文件,会被识别成标签 解决方法: 原sql:SELECT * FROM TABLE T WHERE T.AGE < 10; 1,转义字符.用转义 ...

  4. mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE

    一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条 ...

  5. mybatis中xml字段空判断及模糊查询

    由于业务特殊的查询需求,需要下面的这种查询,一直感觉模糊不清,本地测试一下顺便做个总结 贴一段xml代码,如下: <if test="receivedName != null and ...

  6. Mybatis笔记02-----MyBatis的核心配置文件以及模糊查询的实现

    认识MyBatis核心配置文件mybatis-config.xml 这个文件名是随意可以起,但为了规范一般都命名为mybatis-config.xml:配置文件与MyBatis的行为和属性信息息息相关 ...

  7. SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 简单概述一下本讲 别名,sql片段简单写一下,模糊查询多写一点 一.别名 <typeAliases> ...

  8. mybatis由浅入深day01_4.7根据用户名称模糊查询用户信息_4.8添加用户((非)自增主键返回)

    4.7 根据用户名称模糊查询用户信息 4.7.1 映射文件 使用User.xml,添加根据用户名称模糊查询用户信息的sql语句. 4.7.2 程序代码 控制台: 4.8 添加用户 4.8.1 映射文件 ...

  9. MyBatis SQL处理大于、小于号

    MyBatis mapper文件是xml文件,需要特殊字符如大于号.小于号后需要转义. 原字符 转义后字符 < < <= <= > > > >=

随机推荐

  1. 洛谷P4831 Scarlet loves WenHuaKe

    这道题告诉我们推式子的时候头要够铁. 题意 问一个\(n\times m\)的棋盘,摆上\(n\times 2\)个中国象棋的炮使其两两不能攻击的方案数,对\(998244353\)取模. \((n\ ...

  2. Emmagee—开源Android性能测试工具

    下载:https://github.com/NetEase/Emmagee/releases/download/V2.5/Emmagee.apk 1.Emmagee——Android性能测试工具 Em ...

  3. winform程序关闭界面时弹出提示框

    void Form1_FormClosing(object sender, FormClosingEventArgs e){ if (MessageBox.Show( "窗口关闭后,数据即将 ...

  4. 【转】Keil ARM开发 error L6236E错误解决

    顺利创建了第一个Keil工程却发现不能完成链接,出现了一个下面这样的报错: .\Objects\demo_simple.sct(7): error: L6236E: No section matche ...

  5. Link Cut Tree 总结

    Link-Cut-Tree Tags:数据结构 ##更好阅读体验:https://www.zybuluo.com/xzyxzy/note/1027479 一.概述 \(LCT\),动态树的一种,又可以 ...

  6. 螺旋队列和hiho1525逃离迷宫3

    我是真调不出错误了! hiho1525逃离迷宫3 #include <stdio.h> #include <stdlib.h> #include <math.h> ...

  7. list对象指针与指针类型list

    #include <string> #include <cctype> #include <algorithm> #include <iostream> ...

  8. 一个简单的Kubernetes应用部署示例

    说明 我们通过一个示例来演示一下kubernetes部署应用的基本配置. 这个示例相对比较简单,就是一个tomcat应用加上一个mysql数据库 在tomcat里运行一个简单的webappp,这个ap ...

  9. JavaScript常用模块

    JavaScript常用模块 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.序列化与反序列化 JSON.stringify(obj)   序列化 JSON.parse(str) ...

  10. java学习路线-从入门到入土

    以下是个人学习路线,资源等我找到了 share,如果没找到请自行百度: 1.javase 观看 毕向东的 javase ,主要是老毕口才略屌,听着不容易打瞌睡,冷不丁吓你一大跳 老毕的年代久远,我已经 ...