最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis的使用-Mapper文件各種語法介紹

 更新時間:2020年11月30日 08:41:14   作者:huxl_hi  
這篇文章主要介紹了mybatis的使用-Mapper文件各種語法介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、查詢

mybatis自定義查詢條件,queryString、queryMap、limit,Mapper文件寫法如下:

<select id="getByQueryParam" parameterType="com.systom.base.BaseDaoQueryParam" resultMap="BaseResultMap">
 SELECT
  *
 FROM
  user
 WHERE 1 = 1
 <if test="paramString != null">
 and ${paramString}
 </if>
 <foreach collection="paramMap.keys" item="k" separator=""> 
 <if test="null != paramMap[k]"> 
  and ${k} = #{paramMap.${k}} 
 </if> 
 </foreach>
  <if test="paramInt1 != null and paramInt1 > 0 and paramInt2 != null and paramInt2 > 0">
 limit #{paramInt1,jdbcType=INTEGER}, #{paramInt2,jdbcType=INTEGER}
 </if>
 </select>

以及傳入?yún)⑷氲腷ean類:

package com.systom.base; 
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
 
public class BaseDaoQueryParam implements Serializable {
 
 private static final long serialVersionUID = -8917191044499296040L;
 private String paramString;
 private Map<String, Object> paramMap = new HashMap<String, Object>();
 private int paramInt1;
 private int paramInt2;
 private String orderBy;
 private String orderType;
 
 public BaseDaoQueryParam(String paramString, Map<String, Object> paramMap, int paramInt1,
 int paramInt2) {
 super();
 this.paramString = paramString;
 if(paramMap != null) this.paramMap = paramMap;
 this.paramInt1 = paramInt1;
 this.paramInt2 = paramInt2;
 }
 
 public BaseDaoQueryParam(String paramString, Map<String, Object> paramMap, int paramInt1,
 int paramInt2, String orderBy, String orderType) {
 super();
 this.paramString = paramString;
 if(paramMap != null) this.paramMap = paramMap;
 this.paramInt1 = paramInt1;
 this.paramInt2 = paramInt2;
 this.orderBy = orderBy;
 this.orderType = orderType;
 }
 
 public String getParamString() {
 return paramString;
 }
 
 public void setParamString(String paramString) {
 this.paramString = paramString;
 }
 
 public Map<String, Object> getParamMap() {
 return paramMap;
 }
 
 public void setParamMap(Map<String, Object> paramMap) {
 this.paramMap = paramMap;
 }
 
 public int getParamInt1() {
 return paramInt1;
 }
 
 public void setParamInt1(int paramInt1) {
 this.paramInt1 = paramInt1;
 }
 
 public int getParamInt2() {
 return paramInt2;
 }
 
 public void setParamInt2(int paramInt2) {
 this.paramInt2 = paramInt2;
 }
 
 public String getOrderBy() {
 return orderBy;
 }
 
 public void setOrderBy(String orderBy) {
 this.orderBy = orderBy;
 }
 
 public String getOrderType() {
 return orderType;
 }
 
 public void setOrderType(String orderType) {
 this.orderType = orderType;
 }
}

補充 知識:mybatis的mapper文件的大于號特殊符號使用

第一種方法:

用了轉(zhuǎn)義字符把>和<替換掉,然后就沒有問題了。

SELECT * FROM test WHERE 1 = 1 AND start_date &lt;= CURRENT_DATE AND end_date &gt;= CURRENT_DATE

附:XML轉(zhuǎn)義字符

&lt;

<

小于號

&gt;

>

大于號

&amp;

&

&apos;

'

單引號

&quot;

"

雙引號

第二種方法:

因為這個是xml格式的,所以不允許出現(xiàn)類似“>”這樣的字符,但是都可以使用<![CDATA[ ]]>符號進行說明,將此類符號不進行解析

你的可以寫成這個:

mapper文件示例代碼

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

在mybatis 的mapper配置文件sql語句中, 有時用到 大于, 小于等等的比較, 直接寫在里面就被當做標簽的開頭來處理了, 所以不可.現(xiàn)在又2種解決方法:

一, 用<![CDATA[ ]]>標識,例如:

<if test="menu.authority != null"> 
 <![CDATA[ and authority < #{menu.authority}]]> 
</if> 

其中不但能用大于'>', 小于'<', 小于等于'<=', 大于等于'>=' 也是可以的.

二, 轉(zhuǎn)義, 例如:

<if test="menu.authority != null"> 
 and authority &lt; #{menu.authority} 
</if> 

如此這般......

同樣可以可以和等號'='一起來使用, 來表示大于等于, 小于等于等.如

<if test="menu.authority != null"> 
 and authority &gt;= #{menu.authority} 
</if> 

以上這篇mybatis的使用-Mapper文件各種語法介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring Boot 防止接口惡意刷新和暴力請求的實現(xiàn)

    Spring Boot 防止接口惡意刷新和暴力請求的實現(xiàn)

    本文主要介紹了Spring Boot 防止接口惡意刷新和暴力請求的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • SpringBoot中swagger的使用

    SpringBoot中swagger的使用

    這篇文章主要介紹了SpringBoot中swagger的使用,文中有非常詳細的代碼示例,對正在學習swagger的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java實現(xiàn)字符串反轉(zhuǎn)

    Java實現(xiàn)字符串反轉(zhuǎn)

    這篇文章介紹了Java實現(xiàn)字符串反轉(zhuǎn)的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04
  • SpringBoot中4種接口冪等性的實現(xiàn)策略

    SpringBoot中4種接口冪等性的實現(xiàn)策略

    冪等性是指對同一操作執(zhí)行多次與執(zhí)行一次的效果相同,不會因為重復(fù)執(zhí)行而產(chǎn)生副作用,本文整理了4個SpringBoot實現(xiàn)接口冪等性的方法,大家可以根據(jù)需要進行選擇
    2025-04-04
  • java圖片壓縮工具類

    java圖片壓縮工具類

    這篇文章主要為大家詳細介紹了java圖片壓縮工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • SpringBoot集成Spring Security用JWT令牌實現(xiàn)登錄和鑒權(quán)的方法

    SpringBoot集成Spring Security用JWT令牌實現(xiàn)登錄和鑒權(quán)的方法

    這篇文章主要介紹了SpringBoot集成Spring Security用JWT令牌實現(xiàn)登錄和鑒權(quán)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Java讀取文件方法匯總

    Java讀取文件方法匯總

    這篇文章主要為大家詳細介紹了Java讀取文件方法,按字節(jié)讀取文件內(nèi)容、按字符讀取文件內(nèi)容、隨機讀取文件內(nèi)容等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Spring boot使用spring retry重試機制的方法示例

    Spring boot使用spring retry重試機制的方法示例

    這篇文章主要介紹了Spring boot使用spring retry重試機制的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • Java concurrency之AtomicLong原子類_動力節(jié)點Java學院整理

    Java concurrency之AtomicLong原子類_動力節(jié)點Java學院整理

    AtomicLong是作用是對長整形進行原子操作。下面通過本文給大家介紹Java concurrency之AtomicLong原子類的相關(guān)知識,感興趣的朋友一起看看吧
    2017-06-06
  • 淺談Java字符串比較的三種方法

    淺談Java字符串比較的三種方法

    這篇文章主要介紹了淺談Java字符串比較的三種方法,字符串比較是常見的操作,包括比較相等、比較大小、比較前綴和后綴串等,需要的朋友可以參考下
    2023-04-04

最新評論

怀宁县| 芦溪县| 通山县| 沈丘县| 景泰县| 临泉县| 万山特区| 塔城市| 安陆市| 虎林市| 池州市| 阿拉善右旗| 锦屏县| 仲巴县| 焦作市| 安泽县| 尼勒克县| 东莞市| 乐东| 临海市| 五指山市| 都江堰市| 定远县| 康保县| 海安县| 东丽区| 沅陵县| 兴文县| 绿春县| 松潘县| 海口市| 呈贡县| 漳州市| 潞城市| 湟源县| 双峰县| 萍乡市| 四平市| 南木林县| 自治县| 确山县|