代码报错是因为本人在mapper.xml文件中的sql写错了,之前是做过mybatis和mysql的项目所以惯性思维导致。orcle数据库的sql写法和mybatis的写法是有区别的。
错误示范mybatis写法:
<insert id="saveAll" parameterType="java.util.List">
insert into VEHICLE_OIL_CARD_ADD(ID,VEHICLE_ID,OIL_CARD_NUM,LAST_MONTH_MILEAGE,BALANCE,APPLAY_COST,APPROVE_COST,LAST_MONTH_COST,REMAINING_UNRECHARGED_AMOUNT,YEAR_MONTH)
values
<foreach collection="list" item="item" separator=",">
(SYS_GUID(),#{item.vehicleId},#{item.oilCardNum},#{item.lastMonthMileage},#{item.balance},#{item.applayCost},#{item.approveCost},#{item.lastMonthCost},#{item.remainingUnchargedAmount},#{item.yearMonth})
</foreach>
</insert>
忘记了orcle插入List<>集合对象时写法是不一样的。
正确写法orcle集合数据插入:
<insert id="batchInsertSearchZb" parameterType="java.util.List">
insert all
<foreach collection ="list" item="item" index= "index" separator =" ">
into YJZNJS_USER_SEARCH_ZB(id,userid,zbbm, zb_text, create_time) values
(
#{item.id},
#{item.userId},
#{item.zbbm},
#{item.zbName},
sysdate
)
</foreach>
select * from dual
</insert>