欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis中正則使用foreach拼接字符串

 更新時間:2022年01月14日 08:40:06   作者:weixin_42620197  
這篇文章主要介紹了MyBatis中正則使用foreach拼接字符串,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

正則使用foreach拼接字符串

業(yè)務(wù)需求:使用代理名字查詢該代理的所有下級代理

數(shù)據(jù)庫:

pid存儲的是該字段的上級集合

在這里插入圖片描述

實現(xiàn)步驟:

1、先用名字在用戶表中查詢出用戶id集合

2、在數(shù)據(jù)庫中判斷字段pids中是否出現(xiàn)這些id,再去重

-------上重點-------:

在這里插入圖片描述

在mybatis中寫拼接這個sql碰到了很多坑,記錄下這個教訓(xùn):

1、foreach拼接字符串,開頭和結(jié)尾用單引號,否則報錯

2、中括號使用轉(zhuǎn)義符,否則查詢結(jié)果不正確

3、${item}不能用#,否則報錯

4、使用replace函數(shù)去空格,否則查詢不到結(jié)果(mybatis自動給我加上了空格)

foreach標簽拼接多字段in ,和union

mybatis for標簽 手寫肯定是不可能,復(fù)制又經(jīng)常忘記哪里有,記錄一下復(fù)制方便

(oracle數(shù)據(jù)庫)

批量添加 ,修改 ,拼接(xx,xx)in , union

添加,修改:

<foreach item="list" index="index" collection="list" open="begin" close="end;"> INSERT INTO XXX( xxx ) VALUES( #{list.XXX,jdbcType=VARCHAR}, #{xxx} //值不在list對象里,需要在mapper上加@param注解 ); </foreach>

(字段,字段) in :

(<foreach collection="paramList" index="index" item="item" open="(字段,字段,字段) in(" separator="," close=")"> <if test="index%900==0">(#{item.XX},#{item.XX},#{item.XXX})) or (XX,XX,XX) in(</if> (#{item.XX},#{item.XX},#{item.XX}) < /foreach> )

注意拼接in時 要用()包住for標簽

union:
select a.xx xx
from(
?? ?<foreach collection="query.list" item="item" separator="union all">
? ? select list.XX
? ? from XXX ?list
? ? <where>
? ? ??? ?list.XX= #{item}?
? ??? ? ?< if test="query.xx!= null and query.xx!= ''">
? ? ? ? and list.xx= #{query.xx}
? ?? ? ?< /if>
? ? < /where>
? ? </foreach>
? ? ) a
? ? ?order by a.xx

mysql數(shù)據(jù)庫:

使用批量添加修改的時候需要在數(shù)據(jù)庫地址加上: allowMultiQueries=true

url: jdbc:mysql://192.xxx.xx.xx:xxxx/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true

刪除重復(fù)數(shù)據(jù)保留最大的id 

select *
FROM
?? ?table AS ta
WHERE
?? ?ta.id <> (
SELECT
?? ?t.maxid
FROM
?? ?( SELECT max( tb.id ) AS maxid FROM table AS tb WHERE ta.job_id = tb.job_id ) t
?? ?);

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java去除空格、標點符號的方法實例

    java去除空格、標點符號的方法實例

    這篇文章主要給大家介紹了關(guān)于java去除空格、標點符號的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 基于javaweb+jsp的游泳館會員管理系統(tǒng)(附源碼)

    基于javaweb+jsp的游泳館會員管理系統(tǒng)(附源碼)

    這篇文章主要介紹了基于javaweb+jsp的游泳館會員管理系統(tǒng),開發(fā)工具eclipse/idea/myeclipse/sts等均可配置運行,此源代碼社和課程設(shè)計,大作業(yè)及畢業(yè)設(shè)計項目,需要的朋友可以參考下
    2022-04-04
  • Spring Security驗證流程剖析及自定義驗證方法

    Spring Security驗證流程剖析及自定義驗證方法

    Spring Security是一個能夠為基于Spring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問控制解決方案的安全框架。這篇文章主要介紹了Spring Security驗證流程剖析及自定義驗證方法,需要的朋友可以參考下
    2018-03-03
  • SpringBoot使用@PostConstruct注解導(dǎo)入配置方式

    SpringBoot使用@PostConstruct注解導(dǎo)入配置方式

    這篇文章主要介紹了SpringBoot使用@PostConstruct注解導(dǎo)入配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • JAVA JNI原理詳細介紹及簡單實例代碼

    JAVA JNI原理詳細介紹及簡單實例代碼

    這篇文章主要介紹了JAVA JNI原理的相關(guān)資料,這里提供簡單實例代碼,需要的朋友可以參考下
    2016-12-12
  • 一篇文章告訴你如何在Java數(shù)組中插入一個字符

    一篇文章告訴你如何在Java數(shù)組中插入一個字符

    本篇文章主要介紹了Java數(shù)組中插入一個字符的相關(guān)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-10-10
  • logback關(guān)閉某個包的日志操作

    logback關(guān)閉某個包的日志操作

    這篇文章主要介紹了logback關(guān)閉某個包的日志操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • java正則表達式對特殊字符的轉(zhuǎn)義以及異?,F(xiàn)象

    java正則表達式對特殊字符的轉(zhuǎn)義以及異?,F(xiàn)象

    這篇文章主要給大家介紹了關(guān)于java正則表達式對特殊字符的轉(zhuǎn)義以及異常現(xiàn)象的相關(guān)資料,在Java中使用正則表達式匹配特殊字符也需要使用轉(zhuǎn)義字符"\",需要的朋友可以參考下
    2023-06-06
  • 分享Spring的下載組件

    分享Spring的下載組件

    這篇文章主要為大家分享了Spring的下載組件,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Spring-Data-JPA整合MySQL和配置的方法

    Spring-Data-JPA整合MySQL和配置的方法

    這篇文章主要介紹了Spring Data JPA整合MySQL和配置,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論