title: Calling pl/sql function with mybatis 3
body: <p>I have a function that returns a boolean value in pl/sql. I have tried to 
  get directly that boolean value without success, so now I'm trying to convert it to  string (I do not want to modify the database):</p>
  
  <pre><code>&lt;parameterMap id="publicObject"   type="map"&gt;
  &lt;parameter javaType="java.lang.Object" jdbcType="VARCHAR" mode="OUT" property="result" /&gt; 
  &lt;parameter javaType="java.lang.String" jdbcType="VARCHAR" mode="IN" property="id" /&gt; 
  &lt;/parameterMap&gt;     
  
  &lt;select id="isPublicObject" parameterMap="publicObject" statementType="CALLABLE"&gt;
  
     &lt;![CDATA[
      {
      declare
      v_bool BOOLEAN := TRUE;
      begin
      v_bool := PACKNAME.STF$IS_PUBLIC_OBJECT(#{id});
      #{result} := CASE WHEN v_bool THEN 'TRUE' ELSE 'FALSE' END;
      end;
      }
      ]]&gt;
  
  &lt;/select&gt;
  </code></pre>
  
  <p>Then I get this exception:
  "Error querying database. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #2 with JdbcType OTHER. Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: Invalid column type: 1111 #### </p>
  
  <p>This code works correctly in the database:</p>
  
  <pre><code>declare
      v_bool BOOLEAN := TRUE;
      v_str  VARCHAR2(5);
  begin
     v_bool := PACKNAME.STF$IS_PUBLIC_OBJECT('000000');
     v_str := CASE WHEN v_bool THEN 'TRUE' ELSE 'FALSE' END;
     dbms_output.put_line('result:');
     dbms_output.put_line(v_str); 
  end;
  </code></pre>