mybatis中动态sql语句like concat(“%“,#{xm},“%“)

1、动态SQL是一种可以根据不同条件生成不同SQL语句的技术,随着用户输入或外部条件变化而变化的SQL语句

2、SQL语句中的like模糊查询   xm like '%小米%',但开发中经常用到 xm like concat("%",#{xm},"%"),可以防止sql注入

3、concat()函数用于将多个字符串连接成一个字符串

4、动态标签<if>:用于判断条件是否成立,使用test属性进行条件判断,如果条件为true,则拼接SQL

    IPage<JcCVo> selectByCyJddm(Page<JcCVo> page, @Param("xm")String xm,@Param("hjqx")String hjqx, @Param("zszldm") String zszldm, @Param("sfzhm")String sfzhm, @Param("jddm") String jddm, @Param("zszldmx") String zszldmx);
<select id="selectByCJddm" resultType="org.jeecg.modules.wlyg.vo.JcVo">SELECT *,CONCAT(LEFT(sfzhm,6),'********',RIGHT(sfzhm,4)) AS sfzhmbfrom jc_c where sfsc='N'<if test="hjqx == 'ws' ">AND  hjqx NOT LIKE '33%'  AND zszldm like 'S%'</if><if test="zszldm =='S1'">AND LEFT(zszldm, 2) LIKE 'S1'</if><if test="zszldm =='S0'">AND LEFT(zszldm, 2) LIKE 'S0'</if><if test="zszldmx != null and zszldmx != '' ">and zszldm = #{zszldmx}</if><if test="sfzhm != null and sfzhm != '' ">and sfzhm like concat("%",#{sfzhm},"%")</if><if test="jddm != null and jddm != '' ">and jddm = #{jddm}</if><if test="xm != null and xm != '' ">and xm like concat("%",#{xm},"%")</if>AND zszt='1'AND jddm is not nulland lbdm not like 'O%' and lbdm not like 'I%'</select>

5、动态标签<foreach>:一般用于批量操作,比如批量查询或删除

Integer getCynumberByZszl(@Param("ids") List<String> ids,@Param("flag") String flag);

foreach有几个属性:collection:遍历的集合        item:遍历出来的元素        separator:分割符        open:遍历开始前拼接的SQL片段        close:遍历结束后拼接的SQL片段

<select id="getCynumberByZszl" resultType="java.lang.Integer">SELECT count(*)FROM jc_cyzs swhere zszt='1'<if test="flag == 'zwcy' ">and s.zszldm LIKE 'S%' and s.zszldm != 'S000'</if><if test="flag == 'ptcy' ">and s.zszldm = 'S000'</if><if test="ids != null and ids != ''"><foreach collection="ids" item="id" open="and s.id in (" close=")" separator=",">#{id}</foreach></if></select>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules..mapper.Mapper"><select id="selectByCzId" resultType="org.jeecg.modules.wlyg.entity.Jc">select *from jc_cwhere id = #{czid}and sfsc = 'N'</select><select id="selectByCyJddm" resultType="org.jeecg.modules.wlyg.vo.Jc">SELECT *,CONCAT(LEFT(sfzhm,6),'********',RIGHT(sfzhm,4)) AS sfzhmbfrom jc_c where sfsc='N'<if test="hjqx == 'bq' ">AND hjqx like'330322'  AND zszldm like 'S%'</if><if test="hjqx == 'wq' ">AND hjqx NOT LIKE '330322' AND hjqx LIKE '33%'  AND zszldm like 'S%'</if><if test="hjqx == 'ws' ">AND  hjqx NOT LIKE '33%'  AND zszldm like 'S%'</if><if test="zszldm =='S1'">AND LEFT(zszldm, 2) LIKE 'S1'</if><if test="zszldm =='S2'">AND LEFT(zszldm, 2) LIKE 'S2'</if><if test="zszldm =='S5'">AND LEFT(zszldm, 2) LIKE 'S5'</if><if test="zszldm =='S0'">AND LEFT(zszldm, 2) LIKE 'S0'</if><if test="zszldmx != null and zszldmx != '' ">and zszldm = #{zszldmx}</if><if test="sfzhm != null and sfzhm != '' ">and sfzhm like concat("%",#{sfzhm},"%")</if><if test="jddm != null and jddm != '' ">and jddm = #{jddm}</if><if test="xm != null and xm != '' ">and xm like concat("%",#{xm},"%")</if>AND zszt='1'AND jddm is not nulland lbdm not like 'O%' and lbdm not like 'I%'</select><select id="getCynumberByZszl" resultType="java.lang.Integer">SELECT count(*)FROM jc_cyzs swhere zszt='1'<if test="flag == 'zwcy' ">and s.zszldm LIKE 'S%' and s.zszldm != 'S000'</if><if test="flag == 'ptcy' ">and s.zszldm = 'S000'</if><if test="ids != null and ids != ''"><foreach collection="ids" item="id" open="and s.id in (" close=")" separator=",">#{id}</foreach></if></select></mapper>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/861166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员必备的ChatGPT技巧:从代码调试到项目管理

近年来&#xff0c;随着人工智能技术的迅猛发展&#xff0c;ChatGPT作为一种强大的对话式AI工具&#xff0c;已经广泛应用于各个领域。而对于程序员来说&#xff0c;ChatGPT不仅可以帮助他们解决编程中的各种问题&#xff0c;还能在项目管理中发挥重要作用。本篇博客将详细介绍…

探索小众爱好:打造个人韧性与特色之路

在这个信息爆炸的时代&#xff0c;我们很容易陷入“千篇一律”的漩涡中&#xff0c;无论是生活方式还是兴趣爱好&#xff0c;似乎都趋向于某种“流行”或“热门”。然而&#xff0c;真正的个性与魅力&#xff0c;往往来源于那些不为大众所知的小众爱好。今天&#xff0c;我想和…

2024 最新运营小工具 API 推荐,助力高效工作

在当今数字化运营的时代&#xff0c;各种高效便捷的 API 服务成为了企业和个人提升运营效率、获取精准数据的得力助手。无论是进行市场调研、拓展业务&#xff0c;还是优化网络资源配置&#xff0c;都离不开这些强大的工具。本文将为您详细介绍一系列实用的运营小工具 API 服务…

教你如何一键高效下载视频号直播视频

在当今视频号直播盛行的时代&#xff0c;错过精彩直播内容再也不是遗憾&#xff01;地瓜网络技术倾情推出“视频号直播视频下载器”&#xff0c;为您捕捉每一个直播瞬间。本文将简明扼要地指导您如何利用这款神器下载视频号直播与回放视频&#xff0c;让超清MP4视频轻松入库&am…

SQL实现UUIDv7

当我们选择数据库的主键类型时&#xff0c;通常会考虑自增数字或者 UUID。但是这两种类型都有优缺点&#xff0c;自增字段简单有序&#xff0c;性能良好&#xff0c;最大的问题是无法保证全局唯一性&#xff0c;分布式场景受限&#xff1b;UUID 具有全局唯一性&#xff0c;适合…

react学习——17react中todoList案列

1、项目目录 2、App.js //创建“外壳”组件APP import React, {Component} from "react"; //引入Header组件 import Header from "./components/Header"; //引入List组件 import List from "./components/List"; //引入Footer组件 import Foot…

计算机视觉全系列实战教程 (十四):图像金字塔(高斯金字塔、拉普拉斯金字塔)

1.图像金字塔 (1)下采样 从G0 -> G1、G2、G3 step01&#xff1a;对图像Gi进行高斯核卷积操作&#xff08;高斯滤波&#xff09;step02&#xff1a;删除所有的偶数行和列 void cv::pyrDown(cv::Mat &imSrc, //输入图像cv::Mat &imDst, //下采样后的输出图像cv::Si…

切线与切平面的可视化

切线与切平面的可视化 flyfish 切线的可视化 import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation, PillowWriter# 定义一个简单的一元函数&#xff0c;例如 f(x) x^2 def func(x):return x**2# 计算函数的导数 def deriva…

SpringBoot使用AutoConfigure实现依赖库自动导入配置

我们知道导入配置有两种&#xff0c;一种是Value&#xff0c;一种是ConfigurationProperties&#xff0c;将对应的类标记为Component即可导入。但是被注解标识的类创建Bean有一个前提&#xff0c;只对启动类所在的包路径下的所有带有Component等注解的类才会创建Bean。如果我们…

ONLYOFFICE 文档开发者版 8.1:API 更新

随着版本 8.1 新功能的发布&#xff0c;我们更新了编辑器、文档生成器和插件的 API&#xff0c;并添加了 Office API 板块。阅读下文了解详情。 ​ ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器&#xff0c;支持处理文本文档、电子表格、演示文稿、可填写…

Profibus DP主站转Modbus模块连接马达保护器案例

一、概述 在工业自动化控制系统中&#xff0c;Profibus DP和Modbus是常见的通信协议&#xff0c;在同一现场还有可能遇到Modbus协议&#xff0c;ModbusTCP协议&#xff0c;Profinet协议&#xff0c;Profibus协议&#xff0c;Profibus DP协议&#xff0c;EtherCAT协议&#xff…

小程序中如何进行拼车

小程序因其便捷、快速的特点&#xff0c;已逐渐成为人们日常生活中不可或缺的一部分。在出行领域&#xff0c;拼车作为一种经济、环保的出行方式&#xff0c;受到了越来越多人的青睐。那么该如何在小程序中帮助用户高效发布拼车信息呢&#xff1f;下面具体介绍拼车流程。 一、…

仿Photoshop利用曲线对图像调整亮度与色彩

曲线调整是Photoshop的最常用的重要功能之一。对于一个RGB图像, 可以对R, G, B 通道进行独立的曲线调整&#xff0c;即&#xff0c;对三个通道分别使用三条曲线&#xff08;Curve&#xff09;。还可以再增加一条曲线对 三个通道进行整体调整。 因此&#xff0c;对一个图像&a…

深入浅出 langchain 1. Prompt 与 Model

示例 从代码入手来看原理 from langchain_core.output_parsers import StrOutputParser from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI prompt ChatPromptTemplate.from_template("tell me a short joke about…

让python的报错代码只显示第一层

在 Python 中&#xff0c;sys.tracebacklimit 是 sys 模块中的一个属性&#xff0c;它用于控制在错误发生时&#xff0c;Python 解释器显示的堆栈追踪&#xff08;traceback&#xff09;的深度。 具体来说&#xff1a; • 默认行为&#xff1a;当出现未处理的异常时&#xff…

【神经网络】深入理解多层神经网络(深度神经网络

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&#xff01; 深入理解多层神经网络&#x…

气流流型烟雾模型研究相关法规要求及拍摄注意事项

气流模式可视化提供制药设施中实际气流模型的视觉记录。它是目前最广泛接受的、证明关键工艺区域的气流模型满足监管期望的方法。此外&#xff0c;气流模型可视化允许多个职能组织发现气流设计和功能的有效性和意义&#xff0c;特别是在关键领域。 与气流模型相关的法规指南要求…

算法课程笔记——蓝桥云课第25次云课

算法课程笔记——蓝桥云课第25次云课

DDD学习笔记二

模型的要素——用例、视图和构造块 模型的构建步骤 1&#xff09;从用例场景开始&#xff0c;给模型输入概念、属性、术语。 2&#xff09;构建静态领域模型&#xff08;类图&#xff09;&#xff0c;发现领域概念和对象属性。 3&#xff09;构建动态领域模型&#xff08;时序图…

在数字化转型中,数字孪生技术的作用和价值几何?

引言&#xff1a;随着全球化和市场竞争的加剧&#xff0c;企业需要通过数字化转型来提高生产效率、优化产品质量、降低成本&#xff0c;以增强自身竞争力。企业需要通过数字化转型更好地理解客户需求&#xff0c;提供个性化、定制化的产品和服务&#xff0c;从而满足客户的多样…