2012-02-08 42 views
0

mybatis xmlオプションパラメータを使用したスト​​アドプロシージャコールの記述方法を知りました。たとえば :MyBatisストアドプロシージャコール(任意のパラメータ付き)

DAO

public List getMethod1(Object arg1) { 
     Map<String, Object> map = new HashMap<String, Object>(); 
     map.put("arg1", arg1); 
     return selectList("myBatisSelect", map); 
} 

public List getMethod1(Object arg1, Object arg2) { 
     Map<String, Object> map = new HashMap<String, Object>(); 
     map.put("arg1", arg1); 
     map.put("arg2", arg2); 
     return selectList("myBatisSelect", map); 
} 

XML

<select id="myBatisSelect" 
      parameterType="map" 
      resultType="MyResultObject"> 
      CALL sql_stored_procedure 
      (
       @arg1= #{arg1} 
       <!-- How to add optional parameter here??--> 
      )  

    </select> 

答えて

1

あなたは動的にSQLを生成するために、条件付きロジックを使用することができます。即ち

<select id="myBatisSelect" 
     parameterType="map" 
     resultType="MyResultObject"> 
     CALL sql_stored_procedure 
     (
      @arg1= #{arg1} 
      <if test="arg2 != null"> 
        ,#{arg2} 
      </if> 
     )  

</select> 

MyBatis3 User Guide

は、より多くの情報を有しています。

関連する問題