Mybatis批量增加,删除,更新Oracle

阅读更多

最近需要用到Mybatis批量新增oracle数据库,刚开始在网上找到的方法是都是更新mySQL的,试了一下发现不适合Oracle,后来发现正确的oracle批量新增的sql是:


insert into ATTRACTIONS (

ID, NAME, LONGITUDE, LATITUDE,  UPDATE_TIME

)

   
      (select  
#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}
       from dual)
   

< /insert>

需要重点注意的是sql中没有values,和标签中的(selece ..... from dual),MySql中的sql是这样的:

新增:

 


insert into ATTRACTIONS (

ID, NAME, LONGITUDE, LATITUDE,  UPDATE_TIME

)  
   
#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.longitude,jdbcType=DECIMAL}, #{item.updateTime,jdbcType=TIMESTAMP}
   

< /insert>

oracle更新不能按普通的方式,需要这样:


    begin  
        
            update ATTRACTIONS
            
            
                id = #{item.id},
            

           
                HEAD = #{item.head},
            

           
            where id = #{item.id}
            
        ;end;
    

删除就与MySql一样了如下:


  delete from ATTRACTIONS
 
      
 id=#{item.id}
   

 

 

你可能感兴趣的:(Mybatis,oracle,批量)