mybatis的特殊情景语句操作

2024-04-21 07:32

本文主要是介绍mybatis的特殊情景语句操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、批量插入或者更新:减少与数据库交互

<insert id="betchInsertMallItemPrice" parameterType="java.util.List">  <![CDATA[ insert into mall_item_price (mall_item_id, price,discout_price,limit_num,level,create_user_id,type,status,gmt_create,gmt_modify,attribute,comm_only_key) values ]]><foreach collection="list" item="mallItemPrice" index="index" separator=","> <![CDATA[ (#{mallItemPrice.mallItemId}, #{mallItemPrice.price}, #{mallItemPrice.discoutPrice}, #{mallItemPrice.limitNum}, #{mallItemPrice.level}, #{mallItemPrice.createUserId}, #{mallItemPrice.type}, #{mallItemPrice.status}, #{mallItemPrice.gmtCreate},#{mallItemPrice.gmtModify}, #{mallItemPrice.attribute}, #{mallItemPrice.commOnlyKey}) ]]></foreach><selectKey resultType="long" keyProperty="id">SELECT @@IDENTITY AS id</selectKey></insert>


二、批量更新以及插入:

<insert id="replaceMallItemPrice" parameterType="java.util.List">  <![CDATA[ replace into mall_item_price (id,mall_item_id, price,discout_price,limit_num,level,create_user_id,type,status,gmt_create,gmt_modify,attribute,comm_only_key) values ]]><foreach collection="list" item="mallItemPrice" index="index" separator=","> <![CDATA[ (#{mallItemPrice.id},#{mallItemPrice.mallItemId}, #{mallItemPrice.price}, #{mallItemPrice.discoutPrice}, #{mallItemPrice.limitNum}, #{mallItemPrice.level}, #{mallItemPrice.createUserId}, #{mallItemPrice.type}, #{mallItemPrice.status}, #{mallItemPrice.gmtCreate},#{mallItemPrice.gmtModify}, #{mallItemPrice.attribute}, #{mallItemPrice.commOnlyKey}) ]]></foreach><selectKey resultType="int" keyProperty="id">SELECT @@IDENTITY AS id</selectKey></insert>

三、数据库存   1,2,3,13    判断1是否在其中

<select id="getMallActivityListByLevel" resultType="com.mall.pojo.MallActivity"  parameterType="java.lang.Integer">select *from mall_activity where status = 1 and comm_only_key = #{1} and find_in_set(#{0},activity_rull) order by id DESC</select>

此处用的是find_in_set()函数



这篇关于mybatis的特殊情景语句操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922502

相关文章

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-