Mybatis+Oracle批量插入(自动过滤重复数据)与删除

       在DAO层Mapper方法中参数为List

   
    insert into usi_user_role (user_id,role_id)
   
    select #{item.userid,jdbcType=VARCHAR},
    #{item.roleid,jdbcType=VARCHAR} from dual  where not exists(select * from usi_user_role
     where user_id = #{item.userid,jdbcType=VARCHAR}
       and role_id = #{item.roleid,jdbcType=VARCHAR})
    


 

 
   
   
    delete from usi_user_role A  
  where exists(   
   select role_id from(  
        
     select  B.* from usi_user_role B where 1=1 and B.user_id = #{item.userid} and B.role_id = #{item.roleid}     
   
 
    )S where  A.role_id=S.role_id  
  )  
 


你可能感兴趣的:(java)