美文网首页
mybatis批量新增,插入的数据顺序乱了

mybatis批量新增,插入的数据顺序乱了

作者: 墨色尘埃 | 来源:发表于2018-03-06 11:27 被阅读425次

传入的parameterType="java.util.List"中的对象时正确的,顺序是对应上的,但是最后到表中顺序就乱掉了,最后确认是因为<foreach> 顺序和Base_Column_List中字段顺序不一致,将<foreach>顺序改了即可。最好是改<foreach>顺序,因为```Base_Column_List``顺序是用工具自动生成的,还有其他地方按照这个顺序使用。

    <insert id="insertByBatch" parameterType="java.util.List">
        insert into t_enterprise_shareholder
        (<include refid="Base_Column_List"/>)
        VALUES
        <foreach collection="list" item="item" index="index" separator=",">
            (#{item.shareholderId,jdbcType=VARCHAR}, #{item.enterpriseId,jdbcType=VARCHAR}, #{item.enterpriseUscc,jdbcType=VARCHAR},
            #{item.enterpriseName,jdbcType=VARCHAR},#{item.shareholderName,jdbcType=VARCHAR},#{item.shareholderCapital,jdbcType=VARCHAR},
            #{item.shareholderLegalper,jdbcType=VARCHAR},#{item.shareholderController,jdbcType=VARCHAR},#{item.shareholderSaleAmount,jdbcType=DECIMAL},
            #{item.shareholderAssetsTotal,jdbcType=DECIMAL},#{item.shareholderAssetsNet,jdbcType=DECIMAL},#{item.shareholderProfitCur,jdbcType=DECIMAL},
            #{item.shareholderProfitYes,jdbcType=DECIMAL},#{item.shareholderProfitBef,jdbcType=DECIMAL},#{item.shareholderInoutCur,jdbcType=DECIMAL},
            #{item.shareholderInoutYes,jdbcType=DECIMAL},#{item.shareholderInoutBef,jdbcType=DECIMAL},
            #{item.status,jdbcType=INTEGER}, #{item.operator,jdbcType=VARCHAR}, #{item.operateTime,jdbcType=TIMESTAMP}
            )
        </foreach>
    </insert>

Base_Column_List

<sql id="Base_Column_List">
        SHAREHOLDER_ID,
        ENTERPRISE_USCC,
        ENTERPRISE_ID,
        ENTERPRISE_NAME,
        SHAREHOLDER_NAME,
        SHAREHOLDER_CAPITAL,
        SHAREHOLDER_LEGALPER,
        SHAREHOLDER_CONTROLLER,
        SHAREHOLDER_SALE_AMOUNT,
        SHAREHOLDER_ASSETS_TOTAL,
        SHAREHOLDER_ASSETS_NET,
        SHAREHOLDER_PROFIT_CUR,
        SHAREHOLDER_PROFIT_YES,
        SHAREHOLDER_PROFIT_BEF,
        SHAREHOLDER_INOUT_CUR,
        SHAREHOLDER_INOUT_YES,
        SHAREHOLDER_INOUT_BEF,
        STATUS,
        OPERATOR,
        OPERATE_TIME
    </sql>

相关文章

网友评论

      本文标题:mybatis批量新增,插入的数据顺序乱了

      本文链接:https://www.haomeiwen.com/subject/rdulfftx.html