MyBatis批量删除 多态sql,构建in语句

<!--==========================删除==================================== -->
    <delete id="delete" parameterType="list">
        <![CDATA[
            delete t_vehicle_motorcade where fid in
        ]]>
        <foreach collection="list" item="ids"  open="(" separator="," close=")">  
            #{ids}
         </foreach>
    </delete>

DAO里面直接传入List参数即可:

@Override
    public int delete(List<String> id) {
        return getSqlSession().delete("VehicleMotorcade.delete",id);
    }

页面(ExtJS)

xtype : ‘button‘,
                            text : ‘删除‘,
                            iconCls:‘icon-delete‘,
                            handler:function(){
                                //删除
                                var selectRecords = [];
                                selectRecords = getSelectRecord();
                                Ext.Ajax.request({
                                    url: ‘motorcadeDelete.action‘,
                                    params: {
                                        ‘selectRecords‘: selectRecords //selectRecords对应Action里面有个List的对象
                                    },
                                    success: function(response){
                                        var text = Ext.decode(response.responseText);
                                        Ext.Msg.alert(‘提示‘,text.message);
                                        //刷新Grid,附带上查询条件
                                        storeReload();
                                    }
                                });
                            }

// 获取选定记录
function getSelectRecord(){
        var records=motorcadeGrid.getSelectionModel().getSelection();
            var ids = [];
            for(var i=0; i<records.length; i+=1){
                var member = records[i].get(‘id‘);  
                ids.push(member);                //向数组后添加元素
        }
        return ids;
    }

时间: 2025-01-03 01:41:57

MyBatis批量删除 多态sql,构建in语句的相关文章

mybatis批量删除,亲测可用

以前看了理论以为很容易就可以实现批量删除,谁知道自己写了才发现错误百出!百度mybatis批量删除,列出来的我没一个跑的通的(不排除是我自己的原因) 下面这种写法我自己测试是通过的! mybatis配置什么的这里不多提了,不懂也不会看到这个知识点 首先是mapper: <delete id="delStu" parameterType="java.util.List"> DELETE FROM STUDENT WHERE stuId IN <for

Mybatis批量删除之Error code 1064, SQL state 42000;

(一)小小的一次记载. (二):最近的项目都是使用MyBatis,批量新增自己都会写了,但是一次批量删除可把我给折腾了下,写法网上都有,但是照着做就是不行,最后问公司的人,问网友才得到答案,那就是jdbc中需要在url中指定允许进行进行多条语句同时执行. 自己在写批量更新的时候也把相应的语句打印出来了的,复制出来执行是没问题,但是用junit测试的时候一直报错如下 Error code 1064, SQL state 42000: You have an error in your SQL sy

Mybatis 批量删除 或者批量查询等等

1.第一种方法:传过来的参数是数组,通过foreach来差实现批量删除 2.第二种:直接传一个1,2,3,4这样的数组过来就可以了 原文地址:https://www.cnblogs.com/wcyer/p/12536484.html

Mybatis 批量删除 单引号

MySQL效果: DELETE FROM attachment_table WHERE logid = '24' AND NAME IN ('policycustom1.xmlx','policycustom.xmlx','policycustom1.xmlx','policycustom.xmlx'); Mybatis: void deleteByLogIdAndNames(@Param("logid") Integer logID, @Param("names"

Mybatis批量删除

<delete id="deleteByStandardIds"> delete from t_standard_catalog where standard_id in <foreach collection="array" item="standardId" open="(" close=")" separator=","> #{standardId,jdbc

MyBatis批量更新动态sql

<update id="updateDataKetState"> update ${tablespace}.IDEA_DATAKEY_STATE <trim prefix="set" suffixOverrides=","> <trim prefix="STATENAME = case" suffix="end,"> <foreach collection=&quo

jdbc-批量插入、批量删除、批量更新

一.JDBC的批量插入 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等.    我用Mysql5.1.5的JDBC driver 分别对三种比较常用的方法做了测试   方法一,使用PreparedStatement加批量的方法   Java代码       try{ Class.forName("com.MySQL.jdbc.Driver"); conn = DriverManager.getConnection(o_url, userName,passwo

涛哥的Python工具箱之批量删除含指定字符串行

我们在软件研发中不可避免的要用到大量的反复性的繁琐的工作,比如批量改动代码中接口的字符串.批量下载文件并又一次按规则命名.这些工作人工做特别累,尤其是对我这样的懒人来说. 对于一个出色的程序猿来说,反复是最不能接受的事情之中的一个,因此我们要发明工具把反复的工作自己主动化.曾经我是用linux shell脚本来完毕这些事情的,但因为shell脚本语法能力的限制.有些复杂功能无法有效高速的实现,而且写出的代码难以维护,基本属于一次性代码,非常难复用.因此后面慢慢開始尝试用Python完毕一些自己主

生成批量删除多个表sql语句

--批量删除多个表 select 'drop table ' +name from sysobjects where type = 'U' order by name