mybatis oracle下不同表空间表名重复与批量删除,新增

来源:互联网 发布:社会生存法则 知乎 编辑:程序博客网 时间:2024/05/29 15:59

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来进行批量插入


原创粉丝点击