一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - mybatis動態sql之Map參數的講解

mybatis動態sql之Map參數的講解

2021-07-26 10:54簡樂君 Java教程

今天小編就為大家分享一篇關于mybatis動態sql之Map參數的講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

mybatis 動態sql之map參數

mapper文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
<mapper namespace="com.cn.shoje.oa.modules.logistics.dao.purcdao">
 <select id="findall" parametertype="map" resulttype="purchase">
 select * from prod_purchase where 1=1
 <if test="purc_id!=''"> and purc_id=#{purc_id}</if>
 <if test="prod_id!=''"> and prod_id=#{prod_id}</if>
 <if test="ch_id!=''"> and ch_id=#{ch_id}</if>
 <if test="ch_name!=''"> and ch_id in ( select ch_id from channel where ch_name
  like '%#{ch_name}%')</if>
 <if test="purc_time!=''"> and purc_time=#{purc_time} order by #{purc_time} desc
 </if>
 </select>
</mapper>

test表達式中不用再加#,$之類的取值符了,就直接這樣寫就可以取到map中key所對應的值,而其他地方需要有#{map中的key}來取得map中該key所對應的值

<pre name="code" class="html">

后臺傳遞到mybatis的map參數,不要深究函數含義,知道下面這個map最終是傳遞到mybatis中的parametertype就夠了

?
1
2
3
4
5
6
7
8
9
public map<string,string> parsemap(httpservletrequest req){
 map<string,string> map=new hashmap<string,string>();
 map.put("prod_id", prod_id);
 map.put("purc_id", purc_id );
 map.put("ch_name", ch_name );
 map.put("ch_id", ch_id);
 map.put("purc_time", purc_time);
 return map;
}

mybatis傳入參數類型為map

方式一:

mybatis更新sql語句:

?
1
2
3
4
5
6
7
8
9
<update id="publisht00_notice" parametertype="map">
update test
set createdate = #{createdate},
creator = #{creator}
where id in
<foreach collection="ids" item="ids" separator="," open="(" close=")">
#{ids}
</foreach>
</update>

傳入map參數類型:

?
1
2
3
4
5
hashmap<string,object> map = new hashmap<string, object>();
map.put("creator", "creator");
map.put("createdate", "createdate");
string[] ids = {"1","2"};
map.put("ids", ids );

方式二:

第一步在你的mapper寫上:

?
1
list<weixinuserlocationlist> findweixinuserlocations(@param("params") map<string, object> map);

注意就是注解@param 這個,是mybatis的

然后在xml中這樣寫:

?
1
2
3
4
5
6
7
8
9
10
11
12
<if test="params.accountid!=null">
      and a.accountid=#{params.accountid}
    </if>
    <if test="params.nickname!=null and params.nickname !=''">
      and a.nickname like '%${params.nickname}%'
    </if>
    <if test="params.begindate!=null and params.begindate!=''">
      and date_format(a.createtime,'%y-%m-%d')>=${params.begindate}
    </if>
    <if test="params.enddate!=null and params.enddate!=''">
    <![cdata[  and date_format(a.createtime,'%y-%m-%d')<=${params.enddate} ]]>  
    </if>

${params.nickname}這種寫法參數默認是傳字符串,#{params.accountid}可以取long,integer之類的。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/u012557538/article/details/50978371

延伸 · 閱讀

精彩推薦
  • Java教程Java正則表達式_動力節點Java學院整理

    Java正則表達式_動力節點Java學院整理

    什么是正則表達式,正則表達式的作用是什么?這篇文章主要為大家詳細介紹了Java正則表達式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參...

    動力節點1582020-09-24
  • Java教程SpringMVC用JsonSerialize日期轉換方法

    SpringMVC用JsonSerialize日期轉換方法

    下面小編就為大家帶來一篇SpringMVC用JsonSerialize日期轉換方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起 小編過來看看吧 ...

    java教程網3022020-07-07
  • Java教程Spring Boot中如何使用斷路器詳解

    Spring Boot中如何使用斷路器詳解

    這篇文章主要給大家介紹了關于Spring Boot中如何使用斷路器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價...

    只喝牛奶的殺手3912021-05-28
  • Java教程Java 1.0和Java 1.1 的IO類的比較

    Java 1.0和Java 1.1 的IO類的比較

    Java庫的IO分為輸入/輸出兩部分。早期的Java 1.0版本的輸入系統是InputStream及其子類,輸出系統是OutputStream及其子類。后來的Java 1.1版本對IO系統進行了重新設...

    java技術網3282019-10-18
  • Java教程java 遍歷Map及Map轉化為二維數組的實例

    java 遍歷Map及Map轉化為二維數組的實例

    這篇文章主要介紹了java 遍歷Map及Map轉化為二維數組的實例的相關資料,希望通過本文能幫助到大家,實現這樣的功能,需要的朋友可以參考下...

    chs01133732020-12-19
  • Java教程java實現Z字形掃描程序

    java實現Z字形掃描程序

    這篇文章主要為大家詳細介紹了java實現Z字形掃描程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Stupid_Wind8612021-07-18
  • Java教程java 中ThreadLocal本地線程和同步機制的比較

    java 中ThreadLocal本地線程和同步機制的比較

    這篇文章主要介紹了java 中ThreadLocal本地線程和同步機制的比較的相關資料,需要的朋友可以參考下...

    Java之家4542020-08-31
  • Java教程Java中實現可拖放圖片剪裁入門教程

    Java中實現可拖放圖片剪裁入門教程

    這篇文章主要介紹了Java中實現可拖放圖片剪裁入門教程,本文寫給新手,分步驟講解如何實現圖片裁剪,并對每步的代碼作注釋,需要的朋友可以參考下 ...

    junjie4162019-12-08
主站蜘蛛池模板: 男人把大ji巴放进男人免费视频 | 亚洲人成影院午夜网站 | 欧美日韩一区二区中文字幕视频 | 女色在线观看免费视频 | 公妇乱淫 | 国产91精选在线观看麻豆 | 国产成人免费在线观看 | 学校女性奴sm训练调教 | 99久久精品免费精品国产 | 亚洲性69影视 | 猛男强攻变sao货 | 草莓丝瓜芭乐樱桃榴莲色多黄 | 亚洲精品卡一卡2卡3卡4卡 | 亚洲一二区视频 | 亚洲精品123区在线观看 | 午夜免费啪视频观看视频 | 免费av在线视频 | 国产精品久久99 | 国产精品久久毛片蜜月 | 调教开发新婚娇妻放荡 | 白丝打脚枪 | 69av免费视频 | 满城尽带黄金甲大胸片 | 国产动作大片 | 久久综合香蕉久久久久久久 | 国产一级片在线 | 扒开老师挠尿口到崩溃刑罚 | 亚洲精品动漫免费二区 | 美女林柏欣21p人体之仓之梦 | 欧美在线视频7777kkkk | 欧美国产日产精品免费视频 | 国产良心大作白丝精厕 | 九九99在线视频 | 国产精品久久久久无毒 | 欧美亚洲第一页 | 9l国产精品久久久久麻豆 | 日本搜子同屋的日子2国语 日本爽p大片免费观看 | 男人与雌性宠物交啪啪小说 | 高h扶她文肉 | 男女小视频在线观看 | 亚洲免费色图 |