mybatis实现insertOrUpdate功能

需要往一张表里面插入一条完整的数据,在插入之前需要判断该条数据是否存在,当然可以在插入前先根据id去查询是否存在。然后再决定是否插入。但是感觉这样要多操作一次数据库,所以想直接在mapper.xml文件里面实现该功能,
xml配置如下,首先需要在对象FieldsInfo里面定义一个count ;用来记录计算结果,mapper.xml如下:逻辑就是通过count的值来决定是执行update还是insert操作



		select count(*) from BXKC.BXKC_FIELDS_INFO where ID = #{id,jdbcType=VARCHAR}
	
	
    	update BXKC.BXKC_FIELDS_INFO
	    
	      
	        FIELD_INFO = #{fieldInfo,jdbcType=VARCHAR},
	       
	      
	        FIELD_TYPE = #{fieldType,jdbcType=VARCHAR},
	       
	     
    	where ID = #{id,jdbcType=VARCHAR}
    
    
    	insert into bxkc.BXKC_FIELDS_INFO
    		
    		      
    				ID,
  				  
    		      
    				FIELD_NAME,
  				  
    		      
    				FIELD_INFO,
  				  
    		      
    				FIELD_TYPE,
  				  
    		
    		
		      
		        #{id,jdbcType=VARCHAR},
		      
		      
		        #{fieldName,jdbcType=VARCHAR},
		      
		      
		        #{fieldInfo,jdbcType=VARCHAR},
		      
		      
		        #{fieldType,jdbcType=VARCHAR},
		      
			
		
 

你可能感兴趣的:(mybatis)