mybatis如何调用oracle的函数

图片说明
这个是已经写好的函数,两个参数。
我应该如何在mybtis里面写,以及在java代码里面写

1.先在pl/sql中编写测试好自定义函数,待用。
2.在mybatis的mapper映射文件中调用函数

{#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

3.java中的调用
Map map = new HashMap();
map.put("userids", "");
map.put("userid", 4);
sqlSessionTemplate.selectOne("test.getUerids", map);
String ids = (String)map.get("userids");
说明:
java.util.Map中put了userid、userids两个属性,其中userid存放了函数的输入参数,userids用于存放函数调用后的返回值。
注:转自http://blog.csdn.net/jbgtwang/article/details/9064359

1.先在pl/sql中编写测试好自定义函数,待用。
2.在mybatis的mapper映射文件中调用函数

{#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

3.java中的调用
Map map = new HashMap();
map.put("userids", "");
map.put("userid", 4);
sqlSessionTemplate.selectOne("test.getUerids", map);
String ids = (String)map.get("userids");
说明:
java.util.Map中put了userid、userids两个属性,其中userid存放了函数的输入参数,userids用于存放函数调用后的返回值。
注:转自http://blog.csdn.net/jbgtwang/article/details/9064359

1.先在pl/sql中编写测试好自定义函数,待用。
2.在mybatis的mapper映射文件中调用函数

{#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

3.java中的调用
Map map = new HashMap();
map.put("userids", "");
map.put("userid", 4);
sqlSessionTemplate.selectOne("test.getUerids", map);
String ids = (String)map.get("userids");

1.先在pl/sql中编写测试好自定义函数,待用。
2.在mybatis的mapper映射文件中调用函数

{#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

3.java中的调用
Map map = new HashMap();
map.put("userids", "");
map.put("userid", 4);
sqlSessionTemplate.selectOne("test.getUerids", map);
String ids = (String)map.get("userids");

xml文件里面直接写调用的sql就好了

http://blog.csdn.net/qq_29347295/article/details/77504807,这是别人的,你可以看下有没有用

可以直接在mybatis的mapper映射文件中调用函数:{#{userids,mode=OUT,jdbcType=VARCHAR} = call F_GET_ROLEIDS(#{userid,mode=IN,jdbcType=VARCHAR})}

XML里面:

<parameterMap class="java.util.HashMap" id="paramId" >
<parameter property="jobsid"    javaType="INT"     jdbcType="NUMBER"  mode="IN"/>
<parameter property="direction"    javaType="INT"     jdbcType="NUMBER"  mode="IN"/>
</parameterMap>
<procedure id="updYh"  parameterMap="paramId" >
     {call FN_PP_GET_JOBINTERVAL_BY_JOBSID(?,?)}
</procedure>

JAVA里面:
JAVA里面就是把你的两个参数封装到map里面就可以了。
如:

    Map map = new HashMap();
    map.put("jobsid", "123");
    map.put("direction", "订单编号");
    dbDao.update(map);

图片说明