mybatis中怎么通过两个条件删除多条记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis中怎么通过两个条件删除多条记录相关的知识,希望对你有一定的参考价值。

<delete id="deleteList" parameterType="list">
delete
FROM editing_data
WHERE
<foreach item="item" index="index" collection="list">
id = #item.id
AND task_key = #item.taskKey
</foreach>
</delete>
要删除多条记录,每条记录是id和taskKey两个条件才能决定的。
上面的写法会报错。对mybatis语法不是很熟悉,求正确写法。

不要给我说在程序里用循环删除,这个已经做了,需要的不是这个。
自己解决了。
delete
FROM editing_data
WHERE
<foreach item="item" index="index" collection="list" separator="or">
(id = #item.id
AND task_key =
#item.taskKey)
</foreach>

问题改为对多条记录update应该怎么写 谢谢~

mybatis中多条件删除例子如下:
<delete id="delMultiByIds2" parameterType="java.util.List">
delete from tb_duty where
<foreach collection="list" item="item" index="index" separator="or">
( dscd=#item.dscd,
and unit_id=#item.unitId,
and year=#item.year,
and month=#item.month,
and flag=#item.flag )
</foreach>
</delete>
参考技术A

解决!(有问题得到解决,希望大家都能分享出来,一起做个快乐、肯分享的程序猿。)

针对Oracle数据库,Mybatis多条件批量删除的最新解决方法:

    http://ask.csdn.net/questions/201580

参考技术B where (id,task_key) in

<foreach item="item" index="index" collection="list" separator="," open="(" close=")">
(#item.id,#item.taskKey)
</foreach>

先试下吧
参考技术C

SQL 查询多条符合条件的记录

我有1个Excel表格,上面有一列的字段是我要用来做条件的,本来如果只有几个条件,我可以select * from table where column_a in ('条件一','条件二')
但是我想查询的有70多个条件,我总不能全部写到in里去吧,因为刚入门,所以请高手指点简单的方法~谢谢~
我想在数据库里直接访问Excel里面那一列的数据可以吗,还是非要写到数据库的一个表中~?

select * from table where column_a in (select 条件N from table where XXX )

总之你的多个“条件”如果能用select出来的话,把结果放到in里就可以了。
参考技术A

    查询符合条件的记录,关键字 where 

    假如:表 table 中有3个字段,t1,t2,t3

    并且存在10条记录,和 t2有5条相同的记录

    select * from table where t2='123'

    以上SQL 就可以得到符合条件的5条记录

参考技术B 70几个条件,这本来就是业务逻辑 连业务逻辑都想省掉 那还写程序干什么呢。。
至于出现70几个条件,如果确定自己的表设计规范的话,那么是正常的 上百个字段的表是很正常的事 你需要确定自己的表是不是符合3NF
参考技术C 你这个在excel里没实用的方法.如果非要做可以按下面的做
将excel表里的数据写到excel里
然后
select * from table where column_a = (select aa from newTable)
aa就是newtable里放的你excel那一列的数据 当然如果你excel里的数据有规律的话就可以找别的好方法
参考技术D 如果是数字或者日期的话可以用大于与小于号。

以上是关于mybatis中怎么通过两个条件删除多条记录的主要内容,如果未能解决你的问题,请参考以下文章

Oracle中delete使用in做条件删除多条时删除失败

oracle 存储过程通过输入条件查询,返回多条记录和记录数。

无法通过 jconn4.jar/Sybase 驱动版本 7 & Mybatis 框架更新 Sybase 数据库中的多条记录

SQL 查询多条符合条件的记录

MyBatis_记录

mybatis查询结果如何合并为列表