广告
返回顶部
首页 > 资讯 > 后端开发 > Python >MyBatis中正则使用foreach拼接字符串
  • 572
分享到

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

MyBatis正则正则使用foreach拼接字符串 2022-11-12 23:11:30 572人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录正则使用foreach拼接字符串foreach标签拼接多字段in ,和uNIOn正则使用foreach拼接字符串 业务需求:使用代理名字查询该代理的所有下级代理 数据库

正则使用foreach拼接字符串

业务需求:使用代理名字查询该代理的所有下级代理

数据库:

pid存储的是该字段的上级集合

在这里插入图片描述

实现步骤:

1、先用名字在用户表中查询出用户id集合

2、在数据库中判断字段pids中是否出现这些id,再去重

-------上重点-------:

在这里插入图片描述

在mybatis中写拼接这个sql碰到了很多坑,记录下这个教训:

1、foreach拼接字符串,开头和结尾用单引号,否则报错

2、中括号使用转义符,否则查询结果不正确

3、${item}不能用#,否则报错

4、使用replace函数去空格,否则查询不到结果(mybatis自动给我加上了空格)

foreach标签拼接多字段in ,和union

mybatis for标签 手写肯定是不可能,复制又经常忘记哪里有,记录一下复制方便

(oracle数据库)

批量添加 ,修改 ,拼接(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数据库:

使用批量添加修改的时候需要在数据库地址加上: allowMultiQueries=true

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

删除重复数据保留最大的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
    );

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: MyBatis中正则使用foreach拼接字符串

本文链接: https://www.lsjlt.com/news/162455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MyBatis中正则使用foreach拼接字符串
    目录正则使用foreach拼接字符串foreach标签拼接多字段in ,和union正则使用foreach拼接字符串 业务需求:使用代理名字查询该代理的所有下级代理 数据库...
    99+
    2022-11-12
    MyBatis正则 正则使用foreach 拼接字符串
  • mybatis中的字符串拼接问题
    目录mybatis字符串拼接使用CONCAT 函数使用${ } 代替 #{ }mybatis 拼接动态表名、字段名总结mybatis字符串拼接 MyBatis中拼接字符串有两种方式。...
    99+
    2023-02-07
    mybatis字符串拼接 mybatis拼接字符串 mybatis字符串
  • PHP中怎么使用字符正则替换字符串
    这篇文章主要介绍了PHP中怎么使用字符正则替换字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP中怎么使用字符正则替换字符串文章都会有所收获,下面我们一起来看看吧。首先,我们需要了解正则表达式的基础知识...
    99+
    2023-07-06
  • Mybatis-plus 使用 typeHandler 将 String 拼接字符串转换为 List 列表
    一、需求描述 首先说明需求,有三张表: 学生表、角色表、以及一张关联的中间表。 学生可以有多个角色,但是这多个角色我是作为多条记录存储在另外一张表中的,现在想将这多条记录查询出来,注入到Stude...
    99+
    2023-09-05
    mybatis java mysql
  • 怎么在JavaScript中使用join拼接字符串
    本篇文章为大家展示了怎么在JavaScript中使用join拼接字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语言...
    99+
    2023-06-14
  • 五种方式:Python中拼接字符串的正确方法
    在学习Python的过程中, 在拼接字符串的时候遇到了些问题, 所以抽点时间整理一下Python 拼接字符串的几种方式。 方式1:使用加号(+)连接 使用加号连接各个变量或者元素必须是字符串类型...
    99+
    2023-09-02
    python 开发语言 pycharm
  • 怎么在Java8中使用StringJoiner类拼接字符串
    怎么在Java8中使用StringJoiner类拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。假设现在遍历一个字符串集合,需求是每个元素按照 “.” 分开。Str...
    99+
    2023-06-06
  • 怎么在MySql中使用逗号拼接字符串
    怎么在MySql中使用逗号拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。例如某字段里是为1,2,3,4,5 使用方法:...
    99+
    2022-10-18
    mysql
  • web中如何使用二分法拼接字符串
    这篇文章将为大家详细讲解有关web中如何使用二分法拼接字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字符串拼接通常用循环,这样如果循环次数过大,就会影响性能,使用一...
    99+
    2022-10-19
    web 字符串
  • 怎么在html中使用正则判断字符串
    怎么在html中使用正则判断字符串?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何判断传入的字符串包含一个闭合html标签/<\/[a-z][\s\S]*>/i这...
    99+
    2023-06-09
  • php怎么利用正则排除字符串中的字符
    两种方法:1、用preg_replace(),可执行正则表达式的搜索和替换,只需将字符串中匹配的字符替换为空字符即可,语法“preg_replace(正则, "", $str)”。2、用preg_match_all(),...
    99+
    2023-05-14
    php php字符串 正则表达式
  • php如何利用正则排除字符串中的字符
    本篇内容主要讲解“php如何利用正则排除字符串中的字符”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何利用正则排除字符串中的字符”吧!两种方法:1、用preg_replace(),可执行...
    99+
    2023-07-04
  • Java中list.foreach不能使用字符串拼接的问题
    目录list.foreach不能使用字符串拼接如图,不能使用String进行拼接foreach循环中不能使用字符串拼接问题解决原理   lambda表达式使用...
    99+
    2022-11-12
    Java list.foreach list.foreach使用 字符串拼接
  • pandas中拼接字符串cat()方法的使用示例
    小编给大家分享一下pandas中拼接字符串cat()方法的使用示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!既然在pandas中有分割字符串的方法,那么也是拼...
    99+
    2023-06-14
  • 使用list stream: 任意对象List拼接字符串
    目录任意对象List拼接字符串String.join方法接下来介绍一种更加方便的处理方式Stream流合并字符串、拼接字符串任意对象List拼接字符串 开发中经常会对List中的数据...
    99+
    2022-11-12
    list stream 任意对象List 拼接字符串
  • LinuxShell字符串变量拼接与赋值的使用
    目录1.字符串拼接2.定义值为双引号或单引号的字符串3.在单引号和双引号字符串中取变量值最近在工作用到shell脚本,用到了字符串变量的拼接,同时需要对字符串进行赋值,这里与大家分享...
    99+
    2023-05-19
    Shell字符串变量拼接 Shell字符串变量赋值
  • #{}占位符与${}拼接符如何在MyBatis中使用
    #{}占位符与${}拼接符如何在MyBatis中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、关于#{}占位符先来看以下的示例,该示例是MyBatis中...
    99+
    2023-06-06
  • 利用java项目中对字符串进行拼接
    利用java项目中对字符串进行拼接?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java 字符串拼接的实现在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程...
    99+
    2023-05-31
    java 字符串拼接 中对
  • nodejs如何使用正则实现字符串替换
    今天小编给大家分享一下nodejs如何使用正则实现字符串替换的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。正则表达式的基本语...
    99+
    2023-07-05
  • Shell中使用grep、sed正则提取和替换字符串
    linux中使用grep正则提取字符串 echo office365 | grep -P '\d+' -o find . -name "*.txt" | xargs grep -P 'regex' -o &nb...
    99+
    2022-06-04
    Shell grep正则提取 Shell sed正则提取 Shell 替换字符串
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作