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应该怎么写 谢谢~
<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
<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出来的话,把结果放到in里就可以了。 参考技术A
查询符合条件的记录,关键字 where
假如:表 table 中有3个字段,t1,t2,t3
并且存在10条记录,和 t2有5条相同的记录
select * from table where t2='123'
以上SQL 就可以得到符合条件的5条记录
至于出现70几个条件,如果确定自己的表设计规范的话,那么是正常的 上百个字段的表是很正常的事 你需要确定自己的表是不是符合3NF 参考技术C 你这个在excel里没实用的方法.如果非要做可以按下面的做
将excel表里的数据写到excel里
然后
select * from table where column_a = (select aa from newTable)
aa就是newtable里放的你excel那一列的数据 当然如果你excel里的数据有规律的话就可以找别的好方法 参考技术D 如果是数字或者日期的话可以用大于与小于号。
以上是关于mybatis中怎么通过两个条件删除多条记录的主要内容,如果未能解决你的问题,请参考以下文章
oracle 存储过程通过输入条件查询,返回多条记录和记录数。
无法通过 jconn4.jar/Sybase 驱动版本 7 & Mybatis 框架更新 Sybase 数据库中的多条记录