亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、查詢

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;
 }
}

補(bǔ)充 知識: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;

"

雙引號

第二種方法:

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

你的可以寫成這個(gè):

mapper文件示例代碼

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

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

一, 用<![CDATA[ ]]>標(biāo)識,例如:

<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)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis-plus apply函數(shù)使用場景分析

    Mybatis-plus apply函數(shù)使用場景分析

    Mybatis-plus 里面的 apply方法 是用于拼接自定義的條件判斷,自定義時(shí)間查詢,根據(jù)傳進(jìn)來的開始日期,查詢所有該日期是數(shù)據(jù),但是數(shù)據(jù)庫中保存是時(shí)間,所以需要使用apply查詢方式并格式化,這篇文章給大家介紹Mybatis-plus apply函數(shù)使用,感興趣的朋友一起看看吧
    2024-02-02
  • Java調(diào)用WebService接口的方法

    Java調(diào)用WebService接口的方法

    這篇文章主要介紹了Java調(diào)用WebService接口的方法,實(shí)例分析了有參方法Add的使用技巧,需要的朋友可以參考下
    2015-01-01
  • JDBC數(shù)據(jù)庫連接過程及驅(qū)動加載與設(shè)計(jì)模式詳解

    JDBC數(shù)據(jù)庫連接過程及驅(qū)動加載與設(shè)計(jì)模式詳解

    這篇文章主要介紹了JDBC數(shù)據(jù)庫連接過程及驅(qū)動加載與設(shè)計(jì)模式詳解,需要的朋友可以參考下
    2016-10-10
  • Java 根據(jù)網(wǎng)址查詢DNS/IP地址的方法

    Java 根據(jù)網(wǎng)址查詢DNS/IP地址的方法

    這篇文章主要介紹了Java 根據(jù)網(wǎng)址查詢DNS/IP地址的方法,具體實(shí)現(xiàn)代碼,大家參考下本文
    2017-12-12
  • Mybatis中typeAliases標(biāo)簽和package標(biāo)簽使用

    Mybatis中typeAliases標(biāo)簽和package標(biāo)簽使用

    這篇文章主要介紹了Mybatis中typeAliases標(biāo)簽和package標(biāo)簽使用,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • springMVC詳細(xì)介紹

    springMVC詳細(xì)介紹

    下面小編就為大家?guī)硪黄赟pring MVC 詳細(xì)介紹。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-07-07
  • Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法

    Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)AES/CBC/PKCS7Padding加解密的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 一篇文章帶你了解Java Stream流

    一篇文章帶你了解Java Stream流

    Stream流是數(shù)據(jù)渠道,用于操作數(shù)據(jù)源(集合、數(shù)組等)所生成的元素序列。這篇文章主要介紹了Java8新特性Stream流的相關(guān)資料,需要的朋友參考下吧
    2021-08-08
  • java實(shí)現(xiàn)登錄注冊界面

    java實(shí)現(xiàn)登錄注冊界面

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)登錄注冊界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Java使用JSqlParser解析SQL語句應(yīng)用場景

    Java使用JSqlParser解析SQL語句應(yīng)用場景

    JSqlParser是一個(gè)功能全面的Java庫,用于解析SQL語句,支持多種SQL方言,它可以輕松集成到Java項(xiàng)目中,并提供靈活的操作方式,本文介紹Java使用JSqlParser解析SQL語句總結(jié),感興趣的朋友一起看看吧
    2024-09-09

最新評論