• mybatis批量插入的方式


    批量插入数据经常是把一个集合的数据一次性插入数据库,只需要执行一次sql语句,但是批量插入通常会报框架版本号的错误,本人就遇到 com.alipay.zdal.parser.exceptions.a: ERROR ## get sqlparser result from cache has an error:的错误,

    项目使用的是支付宝的zdal分表分库中间键配置,出现了很奇葩的错误时间紧也没找到引起的真正原因

    所以就找来了另外一种方法:把list放到map集合里面的方法批量插入

    <insert id="insertMore"
            parameterType="java.util.Map">
            insert into account_si_income_info
            (user_card_no,user_id,user_name,mobile,medical_card_no,city_no,template_id,template_version,req_msg_id,pay_cost_month,si_type,pay_cost_base,pay_cost_total,pay_cost_person,pay_cost_unit,
            account_person,arrive_flag,extend_params,create_time,update_time,collection_type,notified,service_return_url,pid,target_notify_time)
            values
            <foreach collection="list" item="item" separator =",">
                (#{item.userCardNo,jdbcType=VARCHAR},
                    #{item.userId,jdbcType=VARCHAR},
                    #{item.userName,jdbcType=VARCHAR},
                    #{item.mobile,jdbcType=VARCHAR},
                    #{item.medicalCardNo,jdbcType=VARCHAR},
                    #{item.cityNo,jdbcType=VARCHAR},
                    #{item.templateId,jdbcType=VARCHAR},
                    #{item.templateVersion,jdbcType=VARCHAR},
                    #{item.reqMsgId,jdbcType=VARCHAR},
                    #{item.payCostMonth,jdbcType=VARCHAR},
                    #{item.siType,jdbcType=VARCHAR},
                    #{item.payCostBase,jdbcType=DECIMAL},
                    #{item.payCostTotal,jdbcType=DECIMAL},
                    #{item.payCostPerson,jdbcType=DECIMAL},
                    #{item.payCostUnit,jdbcType=DECIMAL},
                    #{item.accountPerson,jdbcType=DECIMAL},
                    #{item.arriveFlag,jdbcType=VARCHAR},
                    #{item.extendParams,jdbcType=VARCHAR},
                    #{item.createTime,jdbcType=TIMESTAMP},
                    #{item.updateTime,jdbcType=TIMESTAMP},
                    #{item.collectionType,jdbcType=VARCHAR},
                    #{item.notified,jdbcType=VARCHAR},
                    #{item.serviceReturnUrl,jdbcType=VARCHAR},
                    #{item.pid,jdbcType=VARCHAR},
                    #{item.target_notify_time,jdbcType=VARCHAR})
                    </foreach>
        </insert>
  • 相关阅读:
    PowerDesigner将PDM导出生成WORD文档
    wrong number of arguments,java方法反射时数组参数的坑
    页面关键词Meta Keywords和描述Description的优化作用
    Java RMI之HelloWorld篇
    WebService另一种轻量级实现—Hessian 学习笔记
    RMI、Hessian、Burlap、Httpinvoker、WebService的比较
    利用Hessian如何实现Webservice
    什么是反射?反射有什么用处
    java string,需要进行首字母大写改写
    解决版本冲突-使用SVN主干与分支功能
  • 原文地址:https://www.cnblogs.com/zyf-yxm/p/10246744.html
Copyright © 2020-2023  润新知