欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

解决ORA-00933错误:Mybatis批量插入Oracle时遭遇错误"SQL command not properly ended"的解决方法

最编程 2024-01-10 16:13:53
...

首先声明代码写的没问题

源代码:

<insert id="insertUserStoriesFiles" parameterType="com.piao.domain.TbFile" >
        insert into TB_FILE
            (
             "ID", 
             "FILE_NAME", 
             "NAS_FILE_NAME", 
             "DESCRIPTION",
             "WHEN",
             "SIZE", 
             "USER_STORIES_ID", 
             "ADD_USER",
             "ADD_TIME", 
             "UPDATE_USER", 
             "UPDATE_TIME"
             )
        <foreach collection="list" item="file" separator="union all">
            (
            select 
                   #{file.id}, 
                   #{file.fileName},
                   #{file.nasFileName}, 
                   #{file.description}, 
                   #{file.when}, 
                   #{file.size},
                   #{file.userStoriesId},
                   #{file.createBy},
                   #{file.createTime},
                   #{file.updateBy}, 
                   #{file.updateTime}
            from dual
            )
        </foreach>
    </insert>

解决方案:在插入标签后面加入useGeneratedKeys="false"即可。。

<insert id="insertUserStoriesFiles" parameterType="com.piao.domain.TbFile" useGeneratedKeys="false">
        insert into TB_FILE
            (
             "ID",
             "FILE_NAME",
             "NAS_FILE_NAME",
             "DESCRIPTION",
             "WHEN",
             "SIZE",
             "USER_STORIES_ID",
             "ADD_USER",
             "ADD_TIME",
             "UPDATE_USER",
             "UPDATE_TIME"
             )
        <foreach collection="list" item="file" separator="union all">
            (
            select
                   #{file.id},
                   #{file.fileName},
                   #{file.nasFileName},
                   #{file.description},
                   #{file.when},
                   #{file.size},
                   #{file.userStoriesId},
                   #{file.createBy},
                   #{file.createTime},
                   #{file.updateBy},
                   #{file.updateTime}
            from dual
            )
        </foreach>

    </insert>