mybatis oracle下不同表空間表名重複與批量刪除,新增
阿新 • • 發佈:2019-01-23
mybatis自動生成中會遇到oracle不同表空間中有相同的表明,錯誤提示讓你選擇指定表空間 需要在生成的xml中新增指定的表空間使用者名稱就可以了
<!-- tableName="你要生成的資料庫表名" -->
<table schema="c##train" tableName="YY_GETPARTS"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"
></table>
下面說oracle mybatis批量更新 網上查到的方法基本都是mysql的 在oracel上使用會提示sql語句沒有正確結束
後來找到原因oracle不支援 insert values () () () 多個value這種寫法
<insert id="addSupCity" parameterType="java.util.List"> INSERT INTO T_OCL_SUPCITY (CITY_ID,CITY_CODE, CITY_NAME, AREA_DESC, SUP_ID, STAT) SELECT A.* FROM( <foreach collection="list" item="item" index="index" separator="UNION ALL"> SELECT #{item.cityCode,jdbcType=VARCHAR} CITY_CODE, #{item.cityName,jdbcType=VARCHAR} CITY_NAME, #{item.areaDesc,jdbcType=VARCHAR} AREA_DESC, #{item.supId,jdbcType=VARCHAR} SUP_ID, #{item.stat,jdbcType=VARCHAR} STAT FROM dual </foreach> )A </insert>
通過select from dual 與UNION ALL來進行批量插入