Mybatis 中传入数组类型参数批量更新表数据的写法

Mybatis 中传入数组类型参数批量更新表数据的写法

假设有个文章表,表字段有:文章ID,状态,作者ID,标题,创建时间。
文章表在 Mybatis 的 xml 文件里的定义:

    
    
    
    
    

  
某作者想删除他的5个文章,传入参数是文章ID的数组、状态值(删除)、作者ID,那么代码写法如下。

后端 JAVA 函数的定义:
int updateBatchStateByPrimaryKeySelective(@Param("arrArticleid") Integer[] arrArticleid, @Param("state") Byte state, @Param("userid") Integer userid);

Mybatis 的 SQL 语句写法:

    update ARTICLE
    set STATE = #{state,jdbcType=TINYINT}
    where AUTHORID in
      
        #{item,jdbcType=INTEGER}
      

    and CREATORID = #{userid,jdbcType=INTEGER}

前端 JS 代码:
function  deleteSentMails(arrids){
    var  bresult = true;
    $.ajax({
        url: "/com/test/delarticles",
        type: "POST",
        data: {arrArticleid:arrids},
        dataType:"JSON",
        async: false,
        traditional:true,
        success:function(resp){
            if(<成功>){
                bresult =  true;
            }else{
                bresult = false;
            }
        }
    });
     return bresult;
}

注意,需要在 Ajax 中要加上“ traditional:true ”,以支持传送数组的功能。

Ok,完毕!

你可能感兴趣的:(MySQL,数据库,Web开发,Mybatis)