mysql使用mybatis删除不生效_解决myBatis中删除条件的拼接问题
今天刚刚学习了mybatis,做了简单的对数据库的增删改查。在进行删除操作时,单条删除时很简单,但是批量删除的时候拼接删除条件却有些麻烦,现记录一下做法。
Sql语句中,当删除条件并不唯一的时候,我们有两种删除的sql语句,一种使用or拼接where中的条件,例如delete from 表名where 条件1 or 条件2,另一种是使用in 例如delete from 表名where 元素in( )
利用第一种删除语句在mybatis中的mapping.xml中进行拼接:
利用第二种删除语句在mybatis中的mapping.xml中进行拼接:
以上删除操作基本完成,但是,这样有一个缺陷,当查询条件idList中没有元素的时候,会删除整个表ac01中的记录。所以,我们需要对上述方法进行改进。
第二种删除语句进行改进后:
第一种删除语句进行改进后:
至此,删除操作完美完成。
补充知识:myBatis 查询时注意and拼接条件
and jcb.danweimc like '%${danweimc}%'
and DATE_FORMAT(jcb.jianchaks, '%Y-%m-%d') >= #{ge_jianchaks}
and DATE_FORMAT(jcb.jianchaks, '%Y-%m-%d') <= #{le_jianchaks}
and jcb.jiancharxm like '%${jiancharxm}%'
and yhb.zhuangtai = ${zhuangtai}
and yhb.yinhuanmc like '${danweilb}%'
and jcb.jiedao=#{jiedao}
and jcb.danweimc = #{danweimcs}
例如上诉问题 要么都加and ,要么都不加 ,一定要注意,如果有加and 和没有加and的 查询会报错
以上这篇解决myBatis中删除条件的拼接问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
mysql使用mybatis删除不生效_解决myBatis中删除条件的拼接问题相关推荐
- python字符串拼接数字_解决Python中字符串和数字拼接报错的方法
解决Python中字符串和数字拼接报错的方法 前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # co ...
- mybatis多字段排序_解决mybatis中order by排序无效问题
1.#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111&qu ...
- mysql 视图删除单条记录_从视图中删除行会从MySQL的基表中删除行吗?
是的,从视图中删除行从基表中删除行.让我们通过创建一个新表来了解这一点.创建表的查询如下mysql> create table deleteFromBaseTableDemo -> ( - ...
- python对象一定要删除引用吗_在Python中删除一个对象和所有对它的引用?
如果我理解正确,你将包装一些C代码,并且C代码有一个可以被调用的析构函数.之后,任何使用指向C代码对象的指针的尝试都会导致致命的崩溃. 我不确定你的具体情况,所以我将给你两个替代答案. 0)如果C对象 ...
- mysql delete语句非常耗时_解决项目中MySQL数据库执行删除语句时间太长的问题
问题描述: 由于业务需求,需要删除一些重复数据.即删除openid对应的2条数据,最终只保留一行. MySQL数据库,sql语句比较简单:删除数据前,备份数据是必须的! 先来错误的演示: 1.先把错误 ...
- case mybatis 不同表_解决mybatis case when 报错的问题
在mybatis中使用case when进行条件筛选判断时遇到 Failed to process, please exclude the tableName or statementId. 这样的报 ...
- MySQL删除空值语句_数据库语句sql 删除空记录
最简单删除SQL Server中所有数据的方法 原文:最简单删除SQL Server中所有数据的方法 最简单删除SQL Server中所有数据的方法 编写人:CC阿爸 2014-3-14 其实 ...
- 装mysql最后一步没响应_解决MySQL安装到最后一步未响应的三种方法
这种情况一般是你以前安装过MySQL数据库服务项被占用了. 解决方法: 方法一:安装MySQL的时候在这一步时它默认的服务名是"MySQL" 只需要把这个名字改了就可以了.可以把默 ...
- 安装fitz报错_解决python 虚拟环境删除包无法加载的问题
项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样的文件夹)进去发现pycharm再也找不到这个包了,后来在同 ...
- 怎么删除linux桌面文件夹,为什么桌面上的文件夹删除不掉_桌面文件夹无法删除的解决教程...
我们在使用电脑工作或是学习时,因为一些需要经常会创建或下载一些文档,这些文档一般都是用完就删的.但有的网友却遇到了桌面文件夹无法删除的情况,这是为什么呢?我们又该怎么来处理呢?对此今天本文就来为大家分 ...
最新文章
- stm32采集脉冲信号_STM32 TIM 编码器模式采集编码器信号
- 知识产权创业的比赛结果
- 医院计算机管理在品管圈中的应用,品管圈在医院管理中怎么用?看完就明白了...
- mysql添加外键约束的两种方式(重要)
- ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
- 让VMware ESXi 5.5与Windows时间服务器同步
- 小车自动往返工作原理_请把小车自动往返控制线路的工作原理描述一下。
- javascript遍历对象的所有的属性
- Elasticsearch Trying to create too many scroll contexts. Must be less than or equal to: [500]
- 电脑基础知识入门:键盘上的英文,意思和功能汇总!
- e路航LH900N导航仪凯立德最新版本地图更新方法
- 2014年总结——回眸过去
- python爬虫 提取豆瓣Top250电影信息
- oracle外部表kup-04023,kup-04040访问外部表时
- uni-app如何设置整个项目的统一背景色
- chrome浏览器最新离线版下载 30-72版本全
- 遇到 腾讯云 由于连接云服务器超时 的问题
- Linux命令--wget
- (附源码)Springboot+mysql+基于VUE框架的商城综合项目设计与实现 毕业设计111612
- ZooKeeper: Wait-free coordination for Internet-scale systems