springmvc+mybatis+ajax 批量插入数据

原文地址:https://my.oschina.net/u/2245029/blog/526848

批量插入。AJAX发起请求,核心代码如下:
var mids = new Array();
for (var i=0; i< rows.length; i++) {
mids.push(rows[i].id);
}
$.ajax({
type: 'POST',
dataType: "json",
async: false,
traditional:true, //这一行很重要
url: parent.getBasePath()+"sys/role/setAuth.do",
data: {'mids': mids},
success: function(data) {},
error: function(err) {}
});

接下来是Controller的代码:

//直接在方法里传入List会报错,所以要通过一个类封装一层
@RequestMapping("/setAuth")
@ResponseBody
public Map<String,Object> setAuth(Short id, ModParam midsA) {

}

//封装List对象的类
public class ModParam implements Serializable{

    private static final long serialVersionUID = 8607859409880232081L;
    private List<Short> mids;

    public List<Short> getMids() {
        return mids;
    }

    public void setMids(List<Short> mids) {
        this.mids = mids;
    }

}

Contoller一层一层的往下调用,最后到了Mapper:

/***
 * 批量插入
 * @return
 * @throws Exception
 */
int insertWithList(List<RoleResource> rr) throws Exception;

对应的xml(我这里的id不是一个自增的Sequence,我是去表中选取最大的id,然后依次加1,写入到对象,所以没有用到mybatis的selectKey,这里是针对Oracle):

 <insert id="insertWithList" parameterType="java.util.List">
    insert into T_WEB_ROLE_RESOURCE(id, role_id, source_id, remark) 
    <foreach collection="list" item="item" index="index" separator="union all">
    select #{item.id},#{item.roleId},#{item.sourceId},#{item.remark} from dual
    </foreach>
  </insert>

参考链接:http://chenzhou123520.iteye.com/blog/1583407

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值