Oracle-Mybatis记录

批量操作

  • 批量插入
<insert id="insertList" parameterType="java.util.List">
        INSERT INTO TABLE(EID, EITIME, EUTIME, COLUMN1, COLUMN2, COLUMN3, COLUMN4)
        SELECT SEQ_ID.nextval eid , t.*  FROM(
        <foreach collection="list" item="item" separator="union all">
            select sysdate eitime,
            sysdate eutime,
            #{item.column1} column1,
            #{item.column2} column2,
            #{item.column3} column3,
            #{item.column4} column4
            from dual
        </foreach>
        ) t
    </insert>

报错:Error Msg = ORA-00923: 未找到要求的 FROM 关键字

  • 有一行逗号忘记加了

报错:Cause: org.apache.ibatis.binding.BindingException: Parameter 'bizDate' not found. Available parameters are [collection, list]

  • item.column1中的item没加
  • 批量更新
<update id="updateList" parameterType="java.util.List">
        <foreach collection="list"  index="index" open="begin" close="end;" item="org">
            UPDATE TABLE
            <set>
                EUTIME = sysdate,
                <if test="org.column1 != null"> COLUMN1 = #{org.column1},</if>
            </set>
            WHERE EID = #{org.eid};
        </foreach>
    </update>

猜你喜欢

转载自blog.csdn.net/qq_41157876/article/details/114357370