mybatis使用时遇到的一些问题------模糊查询、处理大于号小于号、相关函数替换空值...
在mybatis中可能會用到的方法
1.模糊查詢
<select id="showByIdName" parameterType="User" resultMap="resultmap">SELECT r.*,u.id,u.age,u.`password`,u.username FROM role rLEFT 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轉義字符表格如下:
?
| ? ? ? ? ? ? ? < ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? | ? ? ? ? ? ? ? ? ? ? ?< | ? ? ? ? ? ? ? ? ? ? ?小于號 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? |
| ? ? ? ? ? ? ? ? ? ? ?> | ? ? ? ? ? ? ? ? ? ? ?> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ? ? ? ?大于號 |
| ? ? ? ? ? ? ? ? ? ? ?& | ? ? ? ? ? ? ? ? ? ? ?& | ? ? ? ? ? ? ? ? ? ? ?和 |
| ? ? ? ? ? ? ? ? ? ? ?' | ? ? ? ? ? ? ? ? ? ? ?’ | ? ? ? ? ? ? ? ? ? ? ?單引號 |
| ? ? ? ? ? ? ? ? ? ? ?" | ? ? ? ? ? ? ? ? ? ? ?" | ? ? ? ? ? ? ? ? ? ? ?雙引號 ? |
(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
總結
以上是生活随笔為你收集整理的mybatis使用时遇到的一些问题------模糊查询、处理大于号小于号、相关函数替换空值...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解this和call、bind、a
- 下一篇: TinyXml帮助文档