qq_22948413 2015-08-19 03:33 采纳率: 44.4%
浏览 8829
已采纳

Mybatis批量添加:报错信息:ORA-00933: SQL 命令未正确结束

Mybatis里面:

  insert into USER_ROLE_AUT
    (RU_ID, RU_ROLE_ID, RU_AUT_ID, RU_TIME_INS, RU_USER_INS, RU_TIME_LST, RU_USER_LST, RU_STATUS) 
        select U.* from USER_ROLE_AUT
     ( <foreach collection="maps" item="item" index="index" separator="union all" >  
         select
                RU_ID_SEQ.Nextval,
                #{item.ruRoleId,jdbcType=DECIMAL}, 
                #{item.ruAutId,jdbcType=DECIMAL}, 
                #{item.ruTimeIns,jdbcType=TIMESTAMP}, 
                #{item.ruUserIns,jdbcType=VARCHAR}, 
                #{item.ruTimeLst,jdbcType=TIMESTAMP}, 
                 #{item.ruUserLst,jdbcType=VARCHAR},
                  #{item.ruStatus,jdbcType=CHAR}
        from USER_ROLE_AUT
    </foreach>
    )U

action里面:
@RequestMapping("roleAutSave")
@ResponseBody
public Map roleAutSave(HttpServletRequest request, HttpSession session)
        throws SystemException {
    Map<String, Object> rtnmap = null;
    Map<String, Object> map = new HashMap<String, Object>();
    try {
        String ruAutId = request.getParameter("ruAutId");// 获取到树形菜单选中的节点
        System.out.println(ruAutId);
        String[] adeArrs = ruAutId.split(",");
        System.out.println(adeArrs);
        String ruRoleId = request.getParameter("ruRoleId");// 获取选中的角色id
        String ruUserIns = request.getParameter("ruUserIns");// 获取登录的账号
        List<UserRoleAut> ls = new ArrayList<UserRoleAut>();
        UserRoleAut ur = null;
        for (String ade : adeArrs) {
            ur = new UserRoleAut();
            ur.setRuRoleId(new Long(ruRoleId));
            ur.setRuAutId(new Long(ade));
            ur.setRuUserIns(ruUserIns);
            ls.add(ur);
        }
        map.put("maps", ls);
        userRoleAutMapper.insert(map);// 保存
        userRoleAutMapper.deleteByPrimaryKey();
        rtnmap = okMap("roleAut");
    } catch (Exception e) {
        rtnmap = failMap("roleAut");
        e.printStackTrace();
    }
    return rtnmap;
}
  • 写回答

1条回答 默认 最新

  • 丵鹰 2015-08-19 03:57
    关注

    http://blog.csdn.net/strutce/article/details/47755845 from USER_ROLE_AUT 这个 表改成 dual这是oracle数据库默认的,建议吧序列查询提出来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 生成的QRCode圖片加上下載按鈕
  • ¥15 板材切割优化算法,数学建模,python,lingo
  • ¥15 科来模拟ARP欺骗困惑求解
  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥15 流式socket文件传输答疑
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题